例: MOV AX,[1234H 机器码:A13412 操作:把偏移量1234H作为EA,在数据 段中找到相应的字单元,再将字单元的内容 送AX
例:MOV AX,[1234H] 机器码:A1 34 12 操作:把偏移量1234H作为EA,在数据 段中找到相应的字单元,再将字单元的内容 送AX
MOV AX,1234H EA=1234H Al 本例执行完后, 34 指令代码段 AX=3050H 12 设DS=3000H DS×16 =3000H×16 30000H—30000H +1234H EA=1234H 31234H 31234H50 数据段 30 3050AX AH AL
本例执行完后, AX=3050H EA=1234H 设DS=3000H 31234H +1234H EA=1234H 31234H 5630 7850 DS16 =30000H 30000H = 3000H×16 ... A1 34 12... ... 50 30... 指令 代码段 数据段 AH AL AX MOV AX, [1234H]
注 a.直接寻址的操作过程与立即寻址不同。 为表示它们的区别,直接寻址的偏移量用 对“[”表示。 立即寻址: MOV AX,1234H 直接寻址: MOVAX,234H b.段基值乘以16,相当于段基值(二进 制表示)左移4位,或段基值(十六进制 表示)在末尾添一个0H
a. 直接寻址的操作过程与立即寻址不同。 为表示它们的区别,直接寻址的偏移量用一 对 “[ ]”表示。 立即寻址:MOV AX,1234H 直接寻址:MOV AX,[1234H] b. 段基值乘以16,相当于段基值(二进 制表示)左移4位,或段基值(十六进制 表示)在末尾添一个0H。 注:
(2)间接寻址方式 以间接的方式得到有效地址EA,有几个专用 的寄存器可用于间接寻址:BX,BP,SI,DI a.基址寻址方式 以BX作为基址寻址寄存器,操作数在数据段中 以BP作为基址寻址寄存器,操作数在堆栈段中 EA=BX或BP的内容+8位或16位位移量
(2) 间接寻址方式 以间接的方式得到有效地址EA,有几个专用 的寄存器可用于间接寻址:BX,BP,SI,DI。 a. 基址寻址方式 • 以BX作为基址寻址寄存器,操作数在数据段中。 • 以BP作为基址寻址寄存器,操作数在堆栈段中。 EA=BX或BP的内容+8位或16位位移量
例: MOV AX,[BX] 机器码:8B04 EA=BX(位移量为0) 操作:以BX的内容作为有效地址EA, 在数据段中找到对应的字单元,再将该字单 元的内容送AX中
例:MOV AX,[BX] 机器码:8B 04 操作:以BX的内容作为有效地址EA, 在数据段中找到对应的字单元,再将该字单 元的内容送AX中。 EA=BX (位移量为0)