Bootloader Stage 2
-
Im Rahmen von "PrettyOS" betreiben wir einen bootloader stage 2, der uns immer wieder Sorgen bereitet. Da wir von MS Windows aus entwickeln wollen und GRUB z.Z. nicht bevorzugen, müssen wir den eigenen bootloader mit HOTFIXES am Leben halten.
-
Was mir grade so ins Auge gesprungen ist: boot2.asm,Zeile 115/116:
mov ebx,4 div ebx
-> shr oder shrd
Das folgende 'rep movsd' könnte man auch durch Etwas schnelleres ersetzen.
masm
-
Naja, man könnte den Code(beide Teile) hier und da noch etwas feiner ausdokumentieren, allerdings im ganzen Code-Bereich.
Der von masm angesprochene Teil ist mit shr ax,2 vielleicht lesbarer? *weißselbernichtgenau*Im zweiten Teil:
270 ; ES has to be adapted, if BX is too large 271 ; -> different solutions possible, e.g.: 272 cmp bx,0x4000 273 jae .LAB0001 274 jmp .LAB0005 275 .LAB0001: 276 mov bx,es 277 add bx,0x0100 278 mov es,bx 279 mov bx,0x3000 280 .LAB0005: ...
ließe sich der code auch ab 273 mit JL (jumpless) auflösen:
273 JL .LAB0005 .LAB0001: 274 mov bx,es 275... ...
(vorläufig...)