如何解决导致表达式语法错误的Mov指令
我是大会的新手,所以请保持友善。
我正在尝试按照教程创建组装中的基本引导加载程序,但是遇到了麻烦。以下代码应将字母A加载到%ax
中,然后触发中断10,但是mov
和int
指令会导致语法错误。我很确定这段代码是有效的,所以我非常感谢有人指出我正确的方向
# boot.asm
init:
mov $0x0e41,%ax
int $0x10
hlt
times 510-($-$$) db 0
dw 0xaa55
nasm -f bin boot.asm -o boot.bin && qemu-system-x86_64 boot.bin
的输出是:
boot.asm:2: error: expression syntax error
boot.asm:3: error: expression syntax error
解决方法
仅出于完整性考虑,我将添加一个答案-感谢@Jester实际指出了问题所在。该代码是使用AT&T语法编写的,但是我尝试使用使用Intel语法的nasm进行编译。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。