我开始阅读关于操作系统的这本书,但在按照作者给出的指示(第12-13页)构建第一个汇编程序示例时遇到了一些问题:
loop:
jmp loop
times 510-($-$$) db 0
dw 0xaa55
在使用书中提供的nasm
命令时,我遇到了以下错误:
$ nasm boot_sector.asm -f bin -o boot_sector.bin
boot_sector.asm:1: error: expression syntax error
boot_sector.asm:2: error: expression syntax error
错误似乎与
loop
标签及其后面的跳转有关,但是我对出现了什么问题或缺少了什么一无所知(我刚开始学汇编语言)。我正在MacBook Pro上使用Mavericks构建该程序。更新:使用
jmp $
代替。loop:
jmp loop
能正常工作,虽然不知道原因。