我试图用NASM汇编文件,但它指向文件中的这一行:
mov al, byte ptr es:[bx]
Run Code Online (Sandbox Code Playgroud)
说:
error: comma, colon or end of line expected
Run Code Online (Sandbox Code Playgroud)
我在该网站上发现了一个页面,上面写着NASM不喜欢“ ptr”一词,如果我这样写,会很高兴的:
mov al, byte es:[bx]
Run Code Online (Sandbox Code Playgroud)
代替。所以我拿出“ ptr”一词,NASM仍然不高兴。当我省略“ ptr”一词时,这是NASM给我的:
warning: register size specification ignored
Run Code Online (Sandbox Code Playgroud)
和:
error: invalid combination of opcode and operands
Run Code Online (Sandbox Code Playgroud)
这是一个陷阱22!不管我是否输入“ ptr”一词,NASM都很生气。有人可以帮我吗?
我知道了!如果我这样写,NASM 会很高兴:
mov al,byte [es:bx]
Run Code Online (Sandbox Code Playgroud)
就像盖伊·瑟顿说的那样。如果我从指令中省略“字节”这个词,这就是会发生的情况。如果指令是这样的:
mov al, [es:bx]
Run Code Online (Sandbox Code Playgroud)
NASM 可以看到我想移动一个字节,因为我将它存储在 al 中,它不会抱怨。但是,如果指令是这样的:
mov [es:bx],0xff
Run Code Online (Sandbox Code Playgroud)
在 NASM 看不到我想要存储多少内存 0xff 的地方,它会给你这样一个错误:
error: operation size not specified
Run Code Online (Sandbox Code Playgroud)
重要的是要知道,尤其是在您使用本教程时,NASM 不会以常规方式使用。
| 归档时间: |
|
| 查看次数: |
3272 次 |
| 最近记录: |