寻址方式就是寻找操作数所在地址的方法
立即寻址
由指令直接给出的方式叫立即寻址,运算的对象由指令直接给出
立即寻址和其他的寻址方式不同,因为立即寻址的操作数(立即数)是由指令直接给出的,所以在编译的时候会和指令码一起被放在内存的代码段区里,当这条指令执行的时候,这个操作数就会被拿出来送给目标地址
立即寻址一般在给某个寄存器或者某个内存单元赋初值的情况下使用
寄存器寻址
存放于寄存器中的寻址方式,参加操作的操作数存放在CPU的通用寄存器里,
存储器寻址
运算的数据在内存中
1.直接寻址
指令中直接给出操作数的偏移地址
上例中
1200H是低8位,1201H是高8位,它的偏移地址知道了,那 逻辑段呢?
此时的1200H不在数据段中了,而在附加段中
2.寄存器间接寻址
没有直接给出偏移地址,间接给出了,也就是放在了通用寄存器里
- 总结
3.寄存器相对寻址
引入相对寻址主要用于一维数组的操作
因为位移量是一个常数,所以一旦有特别多的常数也会引起不便,为了解决,就引入了基址,变址寻址
4.基址,变址寻址
BX,BP是基址寄存器,SI,DI是变址寄存器
5.基址,变址,相对寻址
隐含寻址
上例是乘法指令
寻址方式练习