diff options
Diffstat (limited to 'src/kernel')
| -rw-r--r-- | src/kernel/kernel.asm | 34 | ||||
| -rw-r--r-- | src/kernel/kernel.print.asm | 21 |
2 files changed, 18 insertions, 37 deletions
diff --git a/src/kernel/kernel.asm b/src/kernel/kernel.asm index 1b02249..022a93d 100644 --- a/src/kernel/kernel.asm +++ b/src/kernel/kernel.asm @@ -1,20 +1,22 @@ - ;; kernel.asm - [bits 32] - [org 0x10000] +;; kernel.asm +[bits 32] +[org 0x10000] + +%include "common.asm" +%include "common.protmode.print.asm" +%include "common.protmode.clear.asm" - %include "common.asm" _kernel_entry: - call _clear_screen + cli ; No interrupts yet + mov ebp, RET_STACK + mov esp, DATA_STACK - .halt: hlt - jmp .halt + call _clear_screen + call _show_welcome_msg + +.halt: hlt + jmp .halt -_clear_screen: - mov edi, VGA_BUFFER - mov ecx, VGA_SCREEN - mov ax, VGA_WHITE_ON_BLACK - .clear: - mov [edi], eax - add edi, 2 - loop .clear - ret +welcome_msg: + db "Welcome...", 13, 10, 0 + diff --git a/src/kernel/kernel.print.asm b/src/kernel/kernel.print.asm deleted file mode 100644 index d7a6a7d..0000000 --- a/src/kernel/kernel.print.asm +++ /dev/null @@ -1,21 +0,0 @@ - ;; kernel.print.asm -%define VGA_BUFFER 0xB8000 -_terminal_getidx: - push ax - shl dh, 1 - mov al, VGA_WIDTH - mul dl - mov dl, al - shl dl, 1 - add dl, dh - mov dh, 0 - pop ax - ret - -_terminal_set_color: - shl dl, 4 - or dl, dh - mov [terminal_color], dl - ret - - |
