搞了半天,老是编译报错,大家给说说,这句它怎么就错了呢?mov al, [sp+17h]
我不太懂,如果是nasm的话,会不会是mov al, [byte sp+17h]
[ 本帖最后由 csea 于 2007-9-25 19:40 编辑 ]
我不太懂X86 intel asm的语法。不过你试下mov al,[sp+23]呢?
好像是语法错误(俺是入门级菜鸟)不能直接使用mov al,[sp+17h]这种形式我把它换成以下两句,就好了mov bp,spmov al,[bp+17h]
呵呵,偶错了,修改掉,不能误人子弟
[ 本帖最后由 cjaizss 于 2007-9-27 20:56 编辑 ]
我在nasm下编译mov al, [sp+17h]不行但是,下面两句可以通过mov bp,spmov al, [bp+17h]
>> mov al, [sp+17h]
这条语句确实是错误的。在 16 位编址下,x86 只支持 BX、BP、SI 及 DI 寄存器间接寻址。且不能有 scale。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(6)
我不太懂,如果是nasm的话,
会不会是
mov al, [byte sp+17h]
[ 本帖最后由 csea 于 2007-9-25 19:40 编辑 ]
我不太懂X86 intel asm的语法。
不过你试下mov al,[sp+23]呢?
好像是语法错误(俺是入门级菜鸟)
不能直接使用mov al,[sp+17h]这种形式
我把它换成以下两句,就好了
mov bp,sp
mov al,[bp+17h]
呵呵,偶错了,修改掉,不能误人子弟
[ 本帖最后由 cjaizss 于 2007-9-27 20:56 编辑 ]
我在nasm下编译
mov al, [sp+17h]不行
但是,下面两句可以通过
mov bp,sp
mov al, [bp+17h]
>> mov al, [sp+17h]
这条语句确实是错误的。在 16 位编址下,x86 只支持 BX、BP、SI 及 DI 寄存器间接寻址。且不能有 scale。