能力值:
( LV2,RANK:10 )
|
-
-
2 楼
变址寻址
用DI内容作为内存地址
|
能力值:
( LV9,RANK:770 )
|
-
-
3 楼
立即寻址
常用符号的约定:
Im 表示立即数
mov AX,im
直接寻址
OPRD 表示操作数
MOV AX,DS:[2000]
寄存器寻址
Reg8 表示8位寄存器操作数
MOV SI,CX
寄存器间接寻址
Reg16 表示16位寄存器操作数
MOV AX,[BX]
基址寻址
SEG 表示段寄存器CS、DS、SS、ES
MOV BX,DELTA[BP]
变址寻址
Mem 表示存储器操作数
MOV AX,COUNT[DI]
基址变址寻址
[ ] 表示存储单元内容
MOV AX,MASK[BX][SI]
***32位寻址方式能使用所有的通用寄存器,所以,和该有效地址相组合的段寄存器也就有新的规定。具体规定如下:
1、地址中寄存器的书写顺序决定该寄存器是基址寄存器,还是变址寄存器;
如:[EBX+EBP]中的EBX是基址寄存器,EBP是变址寄存器,而[EBP+EBX]中的EBP是基址寄存器,EBX是变址寄存器;
2、默认段寄存器的选用取决于基址寄存器;
3、基址寄存器是EBP或ESP时,默认的段寄存器是SS,否则,默认的段寄存器是DS;
4、在指令中,如果使用段前缀的方式,那么,显式段寄存器优先。
|
能力值:
( LV9,RANK:770 )
|
-
-
4 楼
指令的举例 访问内存单元所用的段寄存器
MOV AX, [123456H] ;默认段寄存器DS
MOV EAX, [EBX+EBP] ;默认段寄存器DS
MOV EBX, [EBP+EBX] ;默认段寄存器SS
MOV EBX, [EAX+100H] ;默认段寄存器DS
MOV EDX, ES:[EAX*4+200H] ;显式段寄存器ES
MOV [ESP+EDX*2], AX ;默认段寄存器SS
MOV EBX, GS:[EAX+EDX*2+300H] ;显式段寄存器GS
MOV AX, [ESP] ;默认段寄存器SS
|
|
|