使用nasm“在文件开头预期的标签或指令”的汇编

时间:2014-03-17 04:54:05

标签: assembly

我正在学习如何制作一个引导扇区并且我正在使用notepad ++(使用过的葡萄酒)中的所有代码,并且我试图组装代码:

{BITS 16}
{ORG 0x7C00}

jmp 0x0:Start

Start:
cli
mov AX,0x9000
mov SS,AX
mov SP,0xFB00
sti

mov AH,0Eh
mov AL,'E'
int 10h

cli
hlt

times 510 - ($ - $$) db 0
dw 0xAA55

我不断收到说明中的错误,我不知道如何解决这个错误......

(代码IS正确间隔我不知道为什么这个网站把它们放在同一条线上)

1 个答案:

答案 0 :(得分:0)

NASM中的指令具有用户表单(例如bits 16)和较低级别表单(例如[bits 16])。对于很多情况它们是相同的(用户表单只是在内部转换为较低级别的表单)。对于某些情况,它们并不相同,并且用户表单会执行一些额外的簿记内容,而较低级别的表单则不会(例如section vs [section])。在任何情况下,这些都不涉及花括号,你应该使用用户表单(没有方括号)而不是低级表单(带方括号)。

我没有看到任何其他可能导致错误的问题。

我确实看到了一些不相关的问题(例如,假设EBDA是特定大小,cli之前的hlt阻止了“控制+ alt +删除”。