Vývoj operačného systému/Nízkoúrovňový program: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Riadok 53:
dw 0xAA55 ; zapíš bajty 0x55 a 0xAA - architektúra x86 používa zoradenie little-endian
</syntaxhighlight>
 
Tento kód neurobí doslova nič. Po načítaní sa zakážu prerušenia (aby kód neželane nepreskočil na miesto vykonávať nejakú z procedúr BIOSu). Následne sa procesoru prikáže nepokračovať ďalej vo vykonávaní inštrukcií.
Ku koncu je kompilátoru prikázané, aby vyplnil zvyšný priestor nulami, kedže je potrebné aby bol podpis MBR sektoru presne na odsadení 510. Napokon sa na koniec súboru zapíše podpis MBR sektoru (BIOS ho má akceptovať pri načítaní).
 
Poznámka: Inštrukcia hlt je alternatíva k zacyklenému skoku:
<syntaxhighlight lang="asm">
.tu:
jmp .tu
</syntaxhighlight>
 
Kód sa dá preložiť kompilátorom NASM používajúc nasledujúce parametre:
<syntaxhighlight lang="dos">
nasm -f bin -o boot.o zdrojovySubor.asm
</syntaxhighlight>
Pri kompilácií špecifikujeme čistý binárny súbor (bez prídavných hlavičiek na spustenie v operačnom systéme) ako formát, súbor "boot.o" ako výtupný súbor a "zdrojovySubor.asm" ako súbor obsahujúci zdrojový kód. Ak sa kód bykompiluje bez chýb, mal by mať výsledný súbor presne 512 bajtov (v operačnom systéme si treba prečítať presné vlastnosti v podrobnostiach).