diff options
| author | kotorifan <kotorifan05@gmail.com> | 2026-03-08 15:33:02 +0100 |
|---|---|---|
| committer | kotorifan <kotorifan05@gmail.com> | 2026-03-08 15:33:02 +0100 |
| commit | ceedd4f2c7e990162f1b619f0d60471eea3aed1f (patch) | |
| tree | 640ffbfcb9428624b6386d45d28db35d9ccac756 /src/common/common.protmode.print.asm | |
| parent | f81dee10ef19f0c82eb89d0e528bcbfb7a38b016 (diff) | |
| download | kotori-os-ceedd4f2c7e990162f1b619f0d60471eea3aed1f.tar.gz | |
Made a common directory, moved the protmode print there
Diffstat (limited to 'src/common/common.protmode.print.asm')
| -rw-r--r-- | src/common/common.protmode.print.asm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/common/common.protmode.print.asm b/src/common/common.protmode.print.asm new file mode 100644 index 0000000..5995e69 --- /dev/null +++ b/src/common/common.protmode.print.asm @@ -0,0 +1,35 @@ +;; common.protmode.print.asm + +%include "common.asm" + +_print_string_pm_vga: + pusha + mov edi, VGA_BUFFER + mov ah, WB_COLOR + xor ecx, ecx + xor edx, edx + +.print_loop: + lodsb + test al, al + jz .done + + push eax + mov eax, edx + imul eax, eax, 160 + lea edi, [VGA_BUFFER + eax] + lea edi, [edi + ecx * 2] + pop eax + +;; Advance cursor + inc cl + cmp cl, 80 + jb .print_loop + xor cl, cl + inc dl + + jmp .print_loop + +.done: + popa + ret |
