From 8e9af7c817570956a2135f86cd3c9c8cefeda43c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 19 Oct 2016 12:07:31 -0600 Subject: [PATCH] Fix for bootloader on new BIOS (don't know exactly why though) --- bootloader/x86_64/bootsector.asm | 9 +++++++-- bootloader/x86_64/print16.asm | 10 ++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/bootloader/x86_64/bootsector.asm b/bootloader/x86_64/bootsector.asm index 11ea087..b66184e 100644 --- a/bootloader/x86_64/bootsector.asm +++ b/bootloader/x86_64/bootsector.asm @@ -26,8 +26,13 @@ boot: ; dl comes with disk call print call print_line - mov bh, 0 - mov bl, [disk] + mov bx, (startup_start - boot) / 512 + call print_num + call print_line + + mov bx, startup_start + call print_num + call print_line mov eax, (startup_start - boot) / 512 mov bx, startup_start diff --git a/bootloader/x86_64/print16.asm b/bootloader/x86_64/print16.asm index c4a04e1..dada0fd 100644 --- a/bootloader/x86_64/print16.asm +++ b/bootloader/x86_64/print16.asm @@ -2,18 +2,16 @@ SECTION .text USE16 ; provide function for printing in x86 real mode - -; a newline -newline: db 13,10,0 - ; print a string and a newline ; IN ; si: points at zero-terminated String ; CLOBBER ; ax print_line: - mov si, newline - jmp print + mov al, 13 + call print_char + mov al, 10 + jmp print_char ; print a string ; IN