8086的寻址方式
数值寻址方式
操作数的有效地址只包含位移量一种成分。
数值寻址方式习题
与转移地址有关的寻址方式
这种寻址方式用来确定转移指令以及CALL指令的转向地址
值得注意的是:NEXT 是转向的符号地址,在机器指令中用位移量来表示。段内直接寻址的指令码中包含一个8/16位位偏移量Disp,因而JMP NEAR PTR 5119H,5119H为偏移量
见例题3-5有相关题目
值得注意的是,JMP BX,这个是寄存器寻址方式,因此BX中存放的就是操作数,因此(IP)=(BX)=1256H,若这里使用JMP WORD PTR [BX],则[BX]是寄存器间接寻址方式,因而,BX中存放的只是操作数的地址,(IP)=(DS:[BX])
那么JMP TABLE[BX],采用的是寄存器相对寻址方式,那么操作数的有效地址为20A2H+1256H=32F8H,地址为DS+EA=2000H*16+32F8H=232F8H,因而操作数为3280H,所以IP的内容为3280H
转移地址有关的寻址方式习题(重要坑多)
由于我之前犯过数据定义的问题,于是在这里再继续说明一下:
那答案为1E00H
堆栈知识
我认为需要注意一个点:不能把一个立即数PUSH到堆栈中,需要寄存器。
注意0FFAB0H单位为空