Ich bastle gerade an einem eigenen Bootloader und verstehe diese NASM Anweisung nicht:
1 | times 512-($-$$) db 0 |
Wiederhole db 0,aber was sagt mir das Argument 512-($-$$) von times? Für was steht $ und $$? Warum Klammern? Mfg bitbit
|
Forum: PC-Programmierung NASM VerständnisfrageIch bastle gerade an einem eigenen Bootloader und verstehe diese NASM Anweisung nicht:
Wiederhole db 0,aber was sagt mir das Argument 512-($-$$) von times? Für was steht $ und $$? Warum Klammern? Mfg bitbit > Für was steht $ und $$? http://www.nasm.us/xdoc/2.09.06/html/nasmdoc3.html#section-3.5 Dein Binary soll anscheinend mit 0 aufgefüllt werden. > Warum Klammern? http://de.wikipedia.org/wiki/Assoziativgesetz Sind $ und $$ also Zahlenwerte, die als "Sprungmarken" verwendet werden können? Es sind Werte die du beliebig (naja, nahezu) in Ausdrücken verwenden kannst. Als Label (= Sprungmarke) sind sie wohl am wenigsten nützlich, ausser du willst eine Endlosschleife programmieren:
Der Befehl "times 512-($-$$) db 0" würde in Pseusosprache so aussehen "times 512-(startadresse-endadresse) db 0" Also der Befhel rechnett aus wieviele Bytes von der letzten anweisung bis 512 Byte svoll sind fehlen und schreibt sooft db0 da hin. PNoob Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
|
|