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...)


Log in to reply