锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

微机原理8086/8088——指令系统与寻址方式

时间:2023-02-26 02:00:00 pcb传感器进口201a75

8086/8088概念系列微机原理


8086/8088-微型计算机原理
8086/8088-
微处理器功能结构
8086/8088-内部寄存器原理
8086/8088-指令系统
8086/8088-数据传输指令

更新ing

微机原理8086/8088——指令系统与寻址方式

  • 8086/8088概念系列微机原理
    • 更新ing
  • 前言
  • 一、指令是做什么用的?
  • 二、数据搜索方式
    • 1.立即寻址
    • 2.寄存器搜索方式
    • 3.存储器搜索方式
      • a直接寻址
      • b间接搜索寄存器
      • c相对地址的寄存器
      • d寻址基址
      • e相对基址变址寻址


前言

本文主要介绍了微型计算机指令系统和寻址方法


一、指令是做什么用的?

指令是程序的组成部分,它对应于一个基本操作,计算机能做什么样的操作取决于它的指令系统。
一般来说,每台计算机都有自己的指令系统,相互不兼容。同一系列的计算机指令系统确实是向上兼容的(也就是说,旧版本可以使用,新版本也可以使用,新版本不能用于旧版本)

二、数据寻址方式

寻址就是寻找指令或数据

1.立即寻址

操作码 数字表达式

MOV AX, 267
MOV AL, 10010011B AND 0FEH
此处的AL是由16位的AX两个寄存器之一,另一个是AH,所以AX接收16位数据,AL只能接收8位数据

注:该搜索方法只能用于双操作数指令的源操作数字段,而不能用于目的操作数
这意味着你只能把这个数字移给别人,而不是反过来

MOV 267, AX
这样是错的

2.寄存器搜索方式

操作码 寄存器名

MOV AX, BX
MOV AL, BL
可见这里也有16位传16位,8位传8位,只是把数字换成了寄存器的名字,相当于被赋值的变量名

这样的优点:
1.地址码短,缩短指令,节省内存
2.从寄存器取数字更快(原本从存储器取),提高指令执行时间

3.存储器搜索方式

a直接寻址

操作码 地址表达式(或[地址表达式])

这个[ ]有点像指针。如果我没有学过指针,我就这么说吧

MOV AL, 10

这个是把10给AL寄存器

MOV AL, [1000]

这也是给10000的AL吗?
**肯定不是!**1000换成2进制,AL可是AX超过了一半。
这个[1000]的意思是DS(代码段寄存器地址) 偏移地址1000指的单元内容。这里1000是代码段的偏移地址!

由于[1000]代表了地址单元的内容,这句话MOV指令是取出并放置该单元的数量AL寄存器。

对段寄存器的概念还不清楚的同学可以把寄存器器这篇文章。
既然可以理解[ ]了,那不带[ ]没有太多的解释,例子可以
假如TABLE数组的第一个地址(变量名)由数据段定义,其偏移值为1000,因此:

MOV AL, [1000]
MOV AL, [TABLE]
二者相同

计算一个主题

MOV AX, [1000H]
如果(DS)=3000H,(31000H)=12H,(31001H)=34H,那么(AX)=3412H

[1000]此时实际指向地址内容,该地址为3万H 1000H=31000H,寄存器是8位,AX是16位,读完3.1万H读取31001后的数据H在任何时候,高位是高字节,低位是低字节取12H到低位,再把34H放高位

操作码 [数字表达]

这意味着只在原偏移地址处添加数字,原理相同

MOV AL, [1000 2]
MOV AL, [TABLE 2]
二者一样

b间接搜索寄存器

操作码 [基址寄存器名或变址寄存器名]
回忆起基址寄存器和变址寄存器是什么?
基址寄存器:BX、BP
地址寄存器:SI、DI

MOV AX, [BX]
理解和上面一样,只是用寄存器代替了它

注意:如果[ ]里面是BX、SI、DI,然后默认操作数在数据段,使用段地址DS如果是,值BP,在堆栈中默认操作数SS的值

c相对地址的寄存器

后面的寻址方式都差不多

MOV SI, 5
MOV AX, TABLE[SI]也可以写成
MOV AX, [TABLE SI]

如果(SI)是00A0,(DS)=2000H,(201A0H)=12H,TABLE=0100H,(201A1H)=34H,那么TABLE[SI]也就是[TABLE SI]它仍然代表一个单元的内容,地址为2万 0100H 00A0H=201A0H然后取低字节和高字节

d寻址基址

MOV AX,[BX][SI]

或者是

MOV AX, [BX SI]

(DS)=2000H(BX)=0500H(SI)=0010H
偏移地址=0500H 0010H=0510H
加上段地址=20510H
(20510H)=12H,(20511H)=34H
则(AX)=3412H

e相对基址变址寻址

事实上,你已经发现他们的原则完全相同,但形式上有一些差异

MOV AL, TABLE[BX SI]
或者
MOV AL, [TABLE BX SI]

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章