导致表达式语法错误的Mov指令

问题描述

我是大会的新手,所以请保持友善。

我正在尝试按照教程创建组装中的基本引导加载程序,但是遇到了麻烦。以下代码应将字母A加载到%ax中,然后触发中断10,但是movint指令会导致语法错误。我很确定这段代码是有效的,所以我非常感谢有人指出我正确的方向

# 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进行编译。