寄存器对应关系
CS:IP SS:SP SS:BP DS:BX DS:SI DS:DI ES:DI
寻址方式
-
立即寻址
MOV CL , 05 MOV AX , 3100H
用于寄存器赋初值 ,特点是速度快,不需要总线周期,立即数
只能是整数(8位或16位) -
寄存器寻址
MOV BX , AX
INC CX
-
直接寻址
CS=5100H, DS=2000H
MOV AX , [3100H] ;将物理地址为3100H的内存单元中的数据存入AX
MOV BX, CS:[3000H] ;BX=51000+3000=54000H -
寄存器间接地址
MOV AX , [BX] ;因BX与DS匹配,故将DS*16后+BX中存取的数据,再将经此运算后得到的物理地址中所存放的数据存放到 AX中
-
变址寻址
当DS=2000H,SI=1000H时
MOV BX,[SI+1234H] ;物理地址=20000+1000+1234=22234H,再将此物理地址中存放的数据存放至BX中
-
基址寻址
与变址类似,只是使用的寄存器不同而已,BX指数据段,BP指堆栈段
MOV SI, DATA[BX] ;物理地址=DS*16+BX+DATA
MOV BLOCK[BP],AX ;物理地址=SS*16+BP+BLOCK
-
基址变址寻址
若基址寄存器为BX,则段址寄存器应使用DS,物理地址=DS*16+BX+SI或=DS * 16+BX+DI
若基址寄存器为BP,则段址寄存器应使用SS,物理地址=SS*16+BP+SI或=SS * 16+BP+DI
-
相对基址变址寻址
MOV AX,MASK[BX] [SI]
设DS=2000H,BX=1500H,SI=0300H,MASK=0200H,(21A00H)=26BFH
物理地址=DS*16+BX+SI+MASK=20000H+1500H+0300H+0200H=21A00H
执行结果:AX=26BFH