我开始阅读以下有关操作系统的书,但在构建第一个汇编程序示例时,作者遇到了一些问题(作者提供了说明)(第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
标记及其后面的跳转有关,但是对于什么是错误/丢失(仅从汇编开始),我一无所知。
我正在使用Mavericks在MacBook Pro中构建程序。
更新:使用jmp $
代替
loop:
jmp loop
效果很好,尽管不知道为什么。
x86指令集包含一个名为“循环”的指令。因此,具有相同名称的标签可能会使汇编程序感到困惑。尝试使用其他ID作为标签。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句