《微机原理及应用》学习笔记三

8086/8088系列计算机由7种基本数据寻址方式:

1、立即寻址:即指令中直接给出操作数本身。

【例】MOV  AX, 1234H: AX ← 1234H

2、寄存器寻址(执行速度快):操作数存放在寄存器中,指令中给出寄存器名。

(1)MOV  AX , 1234H     ; 目标操作数

(2)MOV  DX, AX            ;目标操作数、源操作数

3、直接寻址:即指令中给出操作数所在存储单元的有效地址,缺省的段为数据段。

(1)MOV  AX , [2000H]           ;AX ← (DS:2000H)

(2)MOV  [1200], BL      ;(DS:1200H) ← BL

(3)MOV   ES:[0100] , AL       ;(ES:0100H) ← AL

4、寄存器间接寻址:把内存操作数的有效地址存储于寄存器中,指令中给出存放地址的寄存器名。

(1)MOV  AX,[SI]              ;AX← (DS:SI+1,DS:SI)

(2)MOV  [BX],1234H   ;(DS:BX+1,DS:BX)← 1234H

5、寄存器相对寻址

采用寄存器相对寻址时,操作数的有效地址分为两部分,一部分存于寄存器中,指令中给出该寄存器名;另一部分以偏移量大方式在指令中给出。

(1)MOV  AL,8[BX]

(2)MOV  AX,COUNT[SI]

6、基址变址寻址

采用基址变址寻址时,一部分存于基址寄存器(BX或BP)中,另一部分存于变址寄存器(SI或DI)中,指令中分别给出两个寄存器名。操作数的有效地址为:

EA = BX +SI/DI

或EA = BP +SI/DI

【例】MOV  AL,[BP][SI]

7、相对基址加变址寻址

采用相对基址变址寻址时,操作数的有效地址分为三部分:一部分存鱼基址寄存器SI或DI中;一部分存于变址寄存器BX或BP中;一部分为偏移量。指令中分别给出两个寄存器及8位或者16位偏移量。操作数的有效地址为:

EX=BX+SI/DI+8位/16位 disp

【例】MOV  AL , 5[BP][SI]




你可能感兴趣的:(《微机原理及应用》学习笔记三)