2002-09-23 22:36:15 UTC
previous
next
section boot.data progbits alloc noexec write align=4
current_line dd 0
current_pos dd 0
section boot.text progbits alloc exec nowrite align=16
print_string_function:
mov edi, 0xb8000
add edi, [current_pos]
add edi, [current_line]
.loop:
lodsb
cmp al, 0
je .end
stosb
mov al, bl
stosb
add [current_pos], dword 2
jmp .loop
.end:
ret
print_newline_function:
mov [current_pos], dword 0
add [current_line], dword 160
ret
clear_screen_function:
mov ecx, 1000
mov eax, 0
mov edi, 0xb8000
rep stosd
ret