Adds test program with screen clear routine.

This commit is contained in:
Felix Queißner 2016-07-01 17:17:11 +02:00
parent dc6e35f825
commit 4f93d2519a

38
libvm/test.asm Normal file
View file

@ -0,0 +1,38 @@
;
; Simple memory transform-and-copy program
;
_start:
push 0xFFFF00
cpget
jmp @cls
push 0x00FFFF
cpget
jmp @cls
jmp @_start
syscall
cls:
bpget
spget
bpset
push 0
cls_copy:
dup
cmp 1228800 ; 640*480*4 screen size
[ex(z)=1] jmp @cls_stop
get -2 ; Get color argument
get 1 ; Get iterator
[i0:arg] add 4096 ; Add screen buffer offset
storei [ci:2] ; Write 32bit value
; Increase counter
[i0:arg] add 4
jmp @cls_copy
cls_stop:
bpget
spset
bpset
ret