问题描述
我是大会的新手,所以请保持友善。
我正在尝试按照教程创建组装中的基本引导加载程序,但是遇到了麻烦。以下代码应将字母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进行编译。