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