簡體   English   中英

使用nasm“在文件開始時應加上標簽或說明”進行匯編

[英]assembly using nasm “label or instruction expected at start of file”

我正在學習如何制作啟動扇區,並按照記事本++(用於葡萄酒)中的所有代碼進行即時通訊,並嘗試匯編代碼:

{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

我一直在上面的描述中得到錯誤,並且我不知道如何解決這個問題...

(代碼間距正確,我不知道為什么這個站點將它們放在同一行上)

NASM中的指令具有用戶形式(例如, bits 16 )和較低級別的形式(例如, [bits 16] )。 在許多情況下,它們是相同的(用戶表單只是在內部轉換為較低級別的表單)。 在某些情況下,它們是不同的,並且用戶表單會做一些額外的簿記工作,而較低級別的表單則不會(例如section[section] )。 無論如何,這些都不涉及花括號,您應該使用用戶表單(不帶方括號),而不要使用較低級別的表單(帶方括號)。

我沒有看到其他任何會導致錯誤的問題。

我看到,雖然一些不相關的問題(例如,假設EBDA是一個特定的大小和cli的前hlt防止“控制+ Alt + Delete”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM