real-mode/vga.asm
2024-03-02 16:17:28 +13:00

49 lines
719 B
NASM

org 0x7c00
main:
mov ah, 0
mov al, 0x13 ; 320x200x8
int 0x10
mov ax, 0 ; x
mov bx, 0 ; y
mov cl, 0 ; color
.horiz_loop:
call putpixel
inc ax
inc cl
cmp ax, 16
jl .horiz_loop
mov ax, 0
inc bx
cmp bx, 16
jl .horiz_loop
cli
.loop:
hlt
jmp .loop
putpixel:
push ax
push bx
push es
push di
imul bx, 320
add bx, ax
mov di, bx
mov ax, 0xA000
mov es, ax
mov [es:di], cl
pop di
pop es
pop bx
pop ax
ret
times 510 - ($-$$) db 0
db 0x55, 0xaa