临近期末,借着复习的机会把大二下学的《微型计算机原理与接口技术》这门课整理一下笔记。

操作数存在方式:

  • 操作数包含在指令中,这种操作数称为立即数。例如:MOV AX,1234H
  • 操作数存放在CPU的某个寄存器中,这种操作数称为寄存器操作数。例如:MOV DS,AX
  • 操作数存放在存储器中,这种操作数称为存储器操作数(内存操作数)。例如:MOV AX,DS:[2000H]
  • 操作数存放在I/O端口中,这种操作数称为I/O端口操作数。例如:IN AL,60H

1.立即寻址:这种寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在代码段区域中。立即数可以是8/6/32位。

1234H为源操作数,是参加操作的数据本身。立即寻址方式一般只用于给内存单元、寄存器赋初值。采用小端法

MOV AL,0C8H   如果开头是A~F,则要在字母前加一个前缀0。

2.寄存器寻址:操作数在CPU的某个寄存器中,符号指令中直接写出寄存器名称。速度最快。

MOV AX,BX   源操作数BX是寄存器操作数。

3.存储器操作数寻址:指令的操作数出现[ ],表示要寻址的数在内存中,地址在[ ]中。速度最慢,时间最长。

步骤:①看到[ ],存在内存中;②看[ ]里的偏移地址

(1)直接寻址:操作数默认为在数据段。

(2)寄存器间接寻址:操作数在内存单元。

记住:BP在堆栈段,BX/SI/DI在数据段即可。

MOV BX,1000H

+[ ],访问单元在内存中;不+[ ],访问单元在寄存器中。

(3)基址寻址:一部分在基址寄存器,另一部分为常量。

记住:BP在堆栈段,BX在数据段即可。

MOV BX,1000H

(4)变址寻址

记住:SI/DI在数据段即可。

MOV SI,1000H

(5)基址加变址寻址

MOV BX,1000H

MOV SI,2000H

总结:

习题:

个人答案:

 

(1) 立即寻址 没有偏移地址 1000H
(2) 直接寻址 2000H 56H
(3) 寄存器寻址 没有偏移地址 1000H
(4) 寄存器间接寻址 1000H 12H
(5) 变址寻址 2016H 78H
(6) 基址寻址 1016H 43H
(7) 基址加变址寻址 3016H A9H

版权声明:本文为博主原创文章,未经博主允许不得转载。