blob: 6f857b8da6d999dacd10aaa7dc2fe961b8d7cf8d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
malloc.byte 3
mov.word 0
push.reg.word 0
push.byte 'a'
mset.byte 0
push.reg.word 0
push.byte 'b'
mset.byte 1
push.reg.word 0
push.byte 'c'
mset.byte 2
push.reg.word 0
mov.word 8
push.reg.word 0
call print_cptr
push.reg.word 8
mdelete
push.byte '\n'
print.char
halt
;;; print_cptr: Prints pointer to a buffer of characters. Pointer
;;; should be on the stack as a word.
print_cptr:
mov.word 0
push.word 0
mov.word 1
push.reg.word 0
push.reg.word 1
mget.stack.byte
print.char
push.reg.word 1
push.word 1
plus.word
mov.word 1
push.reg.word 1
push.reg.word 0
msize
eq.word
not.byte
jump.if.byte *-13
ret
|