导致表达式语法错误的 mov 指令
Mov instruction causing Expression Syntax Error
我非常组装新手所以请保持友善。
我正在尝试按照教程在汇编中创建一个基本的引导加载程序,但遇到了一个小问题。以下代码应将字母 A 加载到 %ax
中,然后触发中断 10,但 mov
和 int
指令会导致语法错误。我很确定这段代码是有效的,所以我真的很感谢有人给我指明了正确的方向
# boot.asm
init:
mov [=10=]x0e41, %ax
int [=10=]x10
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 语法编写的,但是我尝试使用 nasm 进行编译,后者使用 Intel 语法。
我非常组装新手所以请保持友善。
我正在尝试按照教程在汇编中创建一个基本的引导加载程序,但遇到了一个小问题。以下代码应将字母 A 加载到 %ax
中,然后触发中断 10,但 mov
和 int
指令会导致语法错误。我很确定这段代码是有效的,所以我真的很感谢有人给我指明了正确的方向
# boot.asm
init:
mov [=10=]x0e41, %ax
int [=10=]x10
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 语法编写的,但是我尝试使用 nasm 进行编译,后者使用 Intel 语法。