blob: 5995e691cecf87f2e33cc6f2fa3dfa3b0830b307 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
|