Adds test program with screen clear routine.
This commit is contained in:
parent
dc6e35f825
commit
4f93d2519a
1 changed files with 38 additions and 0 deletions
38
libvm/test.asm
Normal file
38
libvm/test.asm
Normal 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
|
Loading…
Reference in a new issue