Archive / / / / / / display.asm
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