数据寻址方式(8086)
1.立即寻址 操作数在指令
2.寄存器间接寻址 操作数在寄存器
3.直接寻址 【2000H】访问存储器
4.寄存器间接寻址 寄存器里存放EA,再访问存储器
5.寄存器相对寻址 偏移地址EA=R+X
6.基址变址寻址 EA=基址+变址
7.相对基址变址寻址 EA=X+基址+变址
指令寻址【CS】与【IP】
转移指令与CALL指令
段内转移(寻址):转移指令(起点)与转向的目标指令(终点)在同一代码段,CS不变
【IP】存在于存储器中
段间转移(寻址):转移指令与转向指令在两个代码段,CS变化
CS重新加载问题
位移量操作符
1.SHORT JMP SHORT NEXT
2.NEAR JMP NEAR PTR AGAIN
3.FAR JMP FAR PTR WAIT
段内直接寻址
转向有效地址(相当于当前地址的IP)EA=IP旧(下一条指令地址)+位移量=IP新
转向地址=16*CS+IP新
位移量直接给出
段内间接寻址
EA是一个寄存器或存储器的内容,要读取
关键是寻找IP
段间直接寻址
用指令中提供的转向段地址和偏移地址取代CS和IP
物理地址:16d*CS+IP
段间间接寻址
用存储器中的两个相继字的内容取代CS和IP
物理地址=16*DS+EA