在 NASM 中汇编 JMPI 指令给出错误 "parser: instruction expected"
Assembling a JMPI instruction in NASM gives the error "parser: instruction expected"
我有这个汇编代码:
fin:
jmpi 0,0xc200
hlt ;halt cpu run and wait instructions
jmp fin
jmpi 0,0xc200
不正确,我不明白哪里出了问题。我 assemble 此代码为:
nasm -f bin bootsect.asm -o bootsect.bin
看来您可能一直在查看使用 JMPI
(段间跳转)的 AS86 汇编代码。这通常被称为 FAR JMP,并以 NASM 编码:
jmp 0:0xc200
在 NASM 中 JMPI
只是 JMP
段和偏移量之间有一个冒号 (:
) 而不是逗号 (,
).
如果你想使用 AS86 来 assemble 引导加载程序而不是 NASM 你必须安装 AS86 包然后 assemble 你的代码以这种方式进入二进制文件:
as86 -b bootsect.bin bootsect.asm
不清楚您打算如何在 FAR JMP 之后到达 HLT 循环,但您可能打算这样做:
fin:
hlt ;halt cpu and wait for interrupt
jmp fin
我有这个汇编代码:
fin:
jmpi 0,0xc200
hlt ;halt cpu run and wait instructions
jmp fin
jmpi 0,0xc200
不正确,我不明白哪里出了问题。我 assemble 此代码为:
nasm -f bin bootsect.asm -o bootsect.bin
看来您可能一直在查看使用 JMPI
(段间跳转)的 AS86 汇编代码。这通常被称为 FAR JMP,并以 NASM 编码:
jmp 0:0xc200
在 NASM 中 JMPI
只是 JMP
段和偏移量之间有一个冒号 (:
) 而不是逗号 (,
).
如果你想使用 AS86 来 assemble 引导加载程序而不是 NASM 你必须安装 AS86 包然后 assemble 你的代码以这种方式进入二进制文件:
as86 -b bootsect.bin bootsect.asm
不清楚您打算如何在 FAR JMP 之后到达 HLT 循环,但您可能打算这样做:
fin:
hlt ;halt cpu and wait for interrupt
jmp fin