Coal Cheatsheet
Coal Cheatsheet
flip:
push es
push si
push di
push cx
mov ax, 0xb800
mov es, ax
mov cx, 960
xor si, si
mov di, 3838
flip_loop:
mov ax, [es:si]
mov [es:di], ax
add si, 2
sub di, 2
loop flip_loop
pop cx
pop di
pop si
pop es
ret
/////////////////////////////////
sleep function
sleep: push cx
mov cx, 0xFFFF
delay: loop delay
pop cx
ret
//////////////////////////////////
swap_loop:
mov ax, [es:si]
xchg ax, [es:di]
mov [es:si], ax
add si, 2
add di, 2
loop swap_loop
pop cx
pop di
pop si
pop es
ret
////////////////////////////////
printline:
push ax
mov ah, 0x0e
l1:
lodsb
or al, al
jz endloop
int 0x10
jmp l1
endloop:
pop ax
ret
start:
call clearscreen
mov dl, 0
code:
mov ah, 0
mov al, 13h
int 10h
call clearscreen
mov cx, x
mov dx, y
mov al, c
u1:
mov ah, 0ch
int 10h
inc cx
inc dx
cmp cx, x+w
jbe u1
/////////////////////////////////
sumarray:
push si
push cx
push ax
xor ax, ax
mov si, data
mov cx, 10
sumloop:
add ax, [si]
add si, 2
loop sumloop
mov [sum], ax
pop ax
pop cx
pop si
ret
//////////////////////////////////////
inc al
add dl, 2
mov ah, 0x02 ;display character
int 0x10