寻址方式
- 立即寻址 mov ax,3064H(操作数放在指令的下一个单元中)
- 寄存器寻址 mov ax,bx,(操作数放在寄存器中)
- 前两种地址都是基于本代码段的
- 直接寻址 mov ax,[2000H],(操作数放在内存中,指令中直接给出内存地址)(其实是偏移地址,物理地址还应该加上段地址)
- 寄存器间接寻址 mov bx,[di] (操作数的地址放在寄存器中)
若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS;
若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。
该寻址方式物理地址的计算方法如下:
BX
物理地址PA=16×DS + SI
DI
或
物理地址PA=16×SS+ BP 寄存器相对寻址 mov ax,[si+100h]
操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量之和。
(传送的是地址,最后分配的还是内容)基址变址寻址方式 MOV AX,[BX][SI] 取基址和变址的内容之和的地址的内容传送给它(不要忘记段地址)
- 相对基址变址寻址方式 MOV AX, [BX+SI+200H]
- 相对比例的没有16位寻址,所以不赘述