首页
社区
课程
招聘
[求助]汇编请教, ax不能作ds ptr寻址?
发表于: 2007-4-20 12:00 5083

[求助]汇编请教, ax不能作ds ptr寻址?

2007-4-20 12:00
5083
mov ax, word ptr ds: [dwAddress]
mov dx, word ptr ds: [ax]
mov dwMyData, dx

在编译的时候会提示

“ax”: 寄存器必须为“第二操作数”中的基/索引

上面这段代码该如何改写呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
改成EAX不行么

如果是在16位的平台上,应该能够正常编译才对啊
2007-4-20 20:35
0
雪    币: 462
活跃值: (53)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=bluesea;299755]mov ax, word ptr ds: [dwAddress]
mov dx, word ptr ds: [ax]
mov dwMyData, dx

在编译的时候会提示

“ax”: 寄存器必须为“第二操作数”中的基/索引

上面这段代码该如何改写呢?[/QUOTE]

在16位处理器中,寄存器间接寻址中只能使用基址(Base)寄存器BX、BP与变址(Index)寄存器SI、DI,而在32位处理器中则可使用除ESP之外的所有通用寄存器。
另外,关于error C2403: 'ax' : register must be base/index in 'second operand'这句话应该翻译成:第二个操作数中的寄存器必须为基址或变址寄存器。
2007-10-8 00:21
0
游客
登录 | 注册 方可回帖
返回
//