verwenden Ich habe diese NASM Code:„Fehler: Parser: Anweisung erwartet“, wenn ich „org 0x0100“ Richtlinie
Beachten Sie, dass dies der ursprüngliche Code ist mein erster Fehler vor Korrektur (siehe bearbeiten unten):
[org 0x0100]
jmp start
Numbers: dw 10, 40, 20, 14, 19, 13, 50, 6, 60, 14
swap: db 0
start: mov bx, 0
mov byte [swap], 0
loop1: mov ax, [Numbers+bx]
cmp ax, [Numbers+bx+2]
jle noswap
mov dx, [Numbers+bx+2]
mov [Numbers+bx+2], ax
mov [Numbers+bx], dx
mov byte [swap], 1
noswap: add bx, 2
cmp bx, 18
jne loop1
mov ax, 0x4c00
int 0x21
ich diesen Befehl bin mit montieren:
nasm -f elf Max.asm
ich diesen Fehler:
error: unrecognized directive org
Warum bekomme ich diesen Fehler, und wie kann ich es beheben?
EDIT: Nachdem die Klammern um die org
Anweisung entfernen, wie in den Kommentaren vorgeschlagen, ich bin jetzt immer diese Fehlermeldung statt:
Max.asm:1: error: parser: instruction expected
Sollte 'org 0x0100' sein wie im [Handbuch] (http://www.nasm.us/xdoc/2.11.08/html/nasmdoc7.html#section-7.1.1) (dh keine Klammern) . Das nächste Mal bitte nicht den Code als Bild eingeben. Ich VTC als Tippfehler. – Jester
entfernte Klammern, aber jetzt bekam diese Max.asm: 1: Fehler: Parser: Anweisung erwartet und Entschuldigung für das Posting Bild :) –
Beachten Sie, dass 'org' nicht mit' elf' Format funktioniert. Wenn Sie ein Linux-Programm erstellen möchten, löschen Sie die Zeile "org". Wenn Sie beabsichtigen, ein DOS-Programm zu erstellen, entfernen Sie die "-f elf". – Jester