diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2017-11-29 11:34:58 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2017-11-29 11:34:58 -0500 |
commit | 523322dc13a2599014e26780518bf06277a57e30 (patch) | |
tree | be76bcaee0b550f01cf6c89c8fbf3de42cd742d2 /kernel.asm | |
parent | 1dd05ebe61c95985b16d170bf2d3f081a02dfd7d (diff) | |
download | minos-523322dc13a2599014e26780518bf06277a57e30.tar.gz |
add print[i,h] and normalize load addresses
Diffstat (limited to 'kernel.asm')
-rw-r--r-- | kernel.asm | 54 |
1 files changed, 46 insertions, 8 deletions
@@ -11,10 +11,10 @@ jmp kmain kmain: cli ; disable interrupts - mov ax, cs ; get code segment (i.e. far jump address in bootloader) + mov ax, cs ; get code segment mov ds, ax ; set data segment mov es, ax ; set extra segment - mov ax, 06000h + mov ax, 8000h mov ss, ax ; set stack segment mov sp, 0ffffh ; set stack pointer (~64k) sti ; enable interrupts @@ -30,9 +30,47 @@ kmain: xor si, si xor bp, bp + push msg_entry_point + call puts + add sp, 2 + + push cs + call printh + + mov al, ':' + call putc + + mov ax, kmain + push ax + call printh + add sp, 4 + mov al, CR + call putc + + ;--- stack + + push msg_entry_point_stack + call puts + add sp, 2 + + push ss + call printh + + mov al, ':' + call putc + + push sp + call printh + add sp, 4 + + mov al, CR + call putc push banner call puts + add sp, 2 + + .mainloop: call kbd_read @@ -63,15 +101,15 @@ panic: ; data -kernel_address: dd 0 ; format DS:ADDR -banner: db "+========================+", CR, LF - db "| Welcome to MINOS 0.0.1 |", CR, LF - db "+========================+", CR, LF - db CR, LF, 0 +msg_entry_point: db 'Loaded at ', 0 +msg_entry_point_stack: db 'Stack at ', 0 +banner: db "+========================+", CR + db "| Welcome to MINOS 0.0.1 |", CR + db "+========================+", CR + db CR, 0 ; Error messages error_msg_panic: db "PANIC: ", 0 - times 512 * 16 db 0 dw 0xefbe |