首页
社区
课程
招聘
mov [di] bl这种是哪种寻址方式?
发表于: 2004-12-19 23:50 8163

mov [di] bl这种是哪种寻址方式?

2004-12-19 23:50
8163
收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
变址寻址
用DI内容作为内存地址
2004-12-20 09:33
0
雪    币: 389
活跃值: (912)
能力值: ( 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、在指令中,如果使用段前缀的方式,那么,显式段寄存器优先。
2004-12-20 17:11
0
雪    币: 389
活跃值: (912)
能力值: ( 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
2004-12-20 17:12
0
游客
登录 | 注册 方可回帖
返回
//