Fix remaining text file line endings in the tree. (#18)
[reactos.git] / boot / freeldr / freeldr / arch / realmode / helpers.inc
index 99781aa..8f5db39 100644 (file)
-\r
-Empty8042:\r
-    .word HEX(00eb), HEX(00eb)      // jmp $+2, jmp $+2\r
-    in al, HEX(64)\r
-    cmp al, HEX(0ff)                // legacy-free machine without keyboard\r
-    jz Empty8042_ret                // controllers on Intel Macs read back 0xFF\r
-    test al, 2\r
-    jnz Empty8042\r
-Empty8042_ret:\r
-    ret\r
-\r
-EnableA20:\r
-    pusha\r
-    call Empty8042\r
-    mov al, HEX(0D1)                // command write\r
-    out HEX(064), al\r
-    call Empty8042\r
-    mov al, HEX(0DF)                // A20 on\r
-    out HEX(060), al\r
-    call Empty8042\r
-    popa\r
-    ret\r
-\r
-/*\r
- * writestr\r
- * si = pointer to zero terminated string\r
- */\r
-writestr:\r
-    pushfd\r
-    pushad\r
-writestr_top:\r
-    lodsb\r
-    and al, al\r
-    jz   writestr_end\r
-    call writechr\r
-    jmp  short writestr_top\r
-writestr_end:\r
-    popad\r
-    popfd\r
-    ret\r
-\r
-/*\r
- * writechr\r
- * al = character to output\r
- */\r
-writechr:\r
-    pushf\r
-    pusha\r
-    mov ah, HEX(0E)\r
-    xor bx, bx\r
-    int HEX(10)\r
-    popa\r
-    popf\r
-    ret\r
-\r
-//\r
-// writehex[248]: Write a hex number in (AL, AX, EAX) to the console\r
-//\r
-writehex2:\r
-    pushfd\r
-    pushad\r
-    shl    eax, 24\r
-    mov cx, 2\r
-    jmp    short writehex_common\r
-writehex4:\r
-    pushfd\r
-    pushad\r
-    shl    eax, 16\r
-    mov cx, 4\r
-    jmp    short writehex_common\r
-writehex8:\r
-    pushfd\r
-    pushad\r
-    mov cx, 8\r
-writehex_common:\r
-.loop:\r
-    rol    eax, 4\r
-    push    eax\r
-    and    al, HEX(0F)\r
-    cmp al, 10\r
-    jae    .high\r
-.low:\r
-    add    al, '0'\r
-    jmp    short .ischar\r
-.high:\r
-    add    al, 'A'-10\r
-.ischar:\r
-    call writechr\r
-    pop    eax\r
-    loop    .loop\r
-    popad\r
-    popfd\r
-    ret\r
-\r
-Reboot:\r
-    cli\r
-\r
-    /* Set the word at location 40h:72h to 0 (cold reboot) */\r
-    mov word ptr ds:[HEX(0472)], HEX(0)\r
-\r
-    /* and jump to location F000h:FFF0h in ROM */\r
-    ljmp16 HEX(0F000), HEX(0FFF0)\r
-\r
-\r
-ChainLoadBiosBootSectorCode:\r
-    /* Load segment registers */\r
-    cli\r
-    xor ax, ax\r
-    mov ds, ax\r
-    mov es, ax\r
-    mov fs, ax\r
-    mov gs, ax\r
-    mov ss, ax\r
-    mov esp, HEX(7C00)\r
-\r
-    /* Jump to the bootsector code */\r
-    ljmp16 HEX(0000), HEX(7C00)\r
+
+Empty8042:
+    .word HEX(00eb), HEX(00eb)      // jmp $+2, jmp $+2
+    in al, HEX(64)
+    cmp al, HEX(0ff)                // legacy-free machine without keyboard
+    jz Empty8042_ret                // controllers on Intel Macs read back 0xFF
+    test al, 2
+    jnz Empty8042
+Empty8042_ret:
+    ret
+
+EnableA20:
+    pusha
+    call Empty8042
+    mov al, HEX(0D1)                // command write
+    out HEX(064), al
+    call Empty8042
+    mov al, HEX(0DF)                // A20 on
+    out HEX(060), al
+    call Empty8042
+    popa
+    ret
+
+/*
+ * writestr
+ * si = pointer to zero terminated string
+ */
+writestr:
+    pushfd
+    pushad
+writestr_top:
+    lodsb
+    and al, al
+    jz   writestr_end
+    call writechr
+    jmp  short writestr_top
+writestr_end:
+    popad
+    popfd
+    ret
+
+/*
+ * writechr
+ * al = character to output
+ */
+writechr:
+    pushf
+    pusha
+    mov ah, HEX(0E)
+    xor bx, bx
+    int HEX(10)
+    popa
+    popf
+    ret
+
+//
+// writehex[248]: Write a hex number in (AL, AX, EAX) to the console
+//
+writehex2:
+    pushfd
+    pushad
+    shl    eax, 24
+    mov cx, 2
+    jmp    short writehex_common
+writehex4:
+    pushfd
+    pushad
+    shl    eax, 16
+    mov cx, 4
+    jmp    short writehex_common
+writehex8:
+    pushfd
+    pushad
+    mov cx, 8
+writehex_common:
+.loop:
+    rol    eax, 4
+    push    eax
+    and    al, HEX(0F)
+    cmp al, 10
+    jae    .high
+.low:
+    add    al, '0'
+    jmp    short .ischar
+.high:
+    add    al, 'A'-10
+.ischar:
+    call writechr
+    pop    eax
+    loop    .loop
+    popad
+    popfd
+    ret
+
+Reboot:
+    cli
+
+    /* Set the word at location 40h:72h to 0 (cold reboot) */
+    mov word ptr ds:[HEX(0472)], HEX(0)
+
+    /* and jump to location F000h:FFF0h in ROM */
+    ljmp16 HEX(0F000), HEX(0FFF0)
+
+
+ChainLoadBiosBootSectorCode:
+    /* Load segment registers */
+    cli
+    xor ax, ax
+    mov ds, ax
+    mov es, ax
+    mov fs, ax
+    mov gs, ax
+    mov ss, ax
+    mov esp, HEX(7C00)
+
+    /* Jump to the bootsector code */
+    ljmp16 HEX(0000), HEX(7C00)