-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstars.a
More file actions
69 lines (65 loc) · 1.37 KB
/
stars.a
File metadata and controls
69 lines (65 loc) · 1.37 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
!to "stars.bin", plain
* = $1000
!zone sending {
sending:
!word $0007
!word $C00D ;; Method
!word $EFF0 ;; name = nil
!word .code
!word .literals
!word $0010 ;; stack size
!word $0004 ;; 4 temps
!word $EFF0 ;; class = nil
!word $EFF0 ;; text = nil
.code !word $8013
!word $C00B
!hex 4270 ;; t0 := $8000
!hex 5D4540305185 ;; mark args for SEND
;; #(nil putstr src dest destbank) MARK
!hex 72 ;; save in t2
!hex 5D4541305185
!hex 73 ;; save in t3
!hex 3292 ;; putstr: string_a
!hex 3392 ;; putstr: string_b
!hex F61000 ;; loop
!align 1,0
.literals
!word $0006
!word $C00A
!word string_a ;; 40
!word string_b
!word $8000
!word $0050
!word $0008 ;; 44
!word putstr
}
!zone putstr {
;; args #(nil putstr src dest destbank)
;; blit i(src sbank dest dbank count -- )
putstr: !word $0007
!word $C00D ;; Method
!word $EFF0 ;; name
!word .code
!word $EFF0 ;; literals = nil
!word $0010 ;; stack size
!word $0000 ;; temps
!word $EFF0 ;; class = nil
!word $EFF0 ;; text = nil
.code: !word $800D
!word $C00B ;; ByteArray
!hex 22D104 ;; push src count
!hex 2423 ;; push destbank dest
!hex 5022 ;; push 0 bank, src
!hex 54D20A ;; skip header (add 4 to src)
!hex D530 ;; blit
!hex F1 ;; return self
!align 1,0
}
string_a:
!word $8004
!word $C010 ;; String
!raw "****"
string_b:
!word $8004
!word $C010 ;; String
!raw "===="