annotate 3rdparty/utils/view/view_io.a @ 1868:cba8a54bc509

Slowly but surely
author boisy
date Fri, 29 Jul 2005 19:40:14 +0000
parents b7fb6a9aead4
children 37fd74e6fad8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1706
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
1 *************************************************************************
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
2 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
3 * Buffered input routines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
4 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
5 * I_Open - Opens file. X -> filename, A has permissions
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
6 * I_Read - Read Y bytes from file into [X]
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
7 * I_GetByte - Returns one byte from file in A.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
8 * I_Close - Closes file.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
9 * I_Size - returns file size, truncated to $FFFF
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
10 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
11 * Terminal output routines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
12 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
13 * O_Write - Uses I$WritLn to output null-terminated string.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
14 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
15 * Note: as with OS9 I$ system calls, all calls return Carry clear if
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
16 * no error. If there is an error, Carry is set, and the error code is in B
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
17 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
18 * Global var:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
19 * FilePos: 2-byte total number of bytes returned by I_Read or I_GetByte
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
20 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
21 *************************************************************************
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
22
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
23 ifp1
1777
b7fb6a9aead4 Removed /dd/defs so that rma could assemble
boisy
parents: 1706
diff changeset
24 use os9defs.a
1706
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
25 endc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
26
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
27 StdIn equ 0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
28 StdOut equ 1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
29 StdErr equ 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
30
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
31 psect View_IO_a,0,0,0,0,0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
32
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
33
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
34 vsect dp
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
35 FilePos: rmb 2 Current File position
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
36 Buffsize rmb 2 Size of buffer area
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
37 Buffer rmb 2 Start of buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
38 Buffstart rmb 2 Start of data in buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
39 Buffend rmb 2 End of data in buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
40 Path rmb 1 Path number of file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
41 errorno rmb 1 Last error number.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
42 endsect
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
43
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
44 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
45 * Open file, initialize buffering
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
46 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
47 I_Open:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
48 pshs x,a,b
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
49 clr errorno
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
50 ldd <MemSiz Use as much memory as is free.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
51 cmpd <MaxBuff But in no case use more than MaxBuff space.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
52 blo IO1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
53 ldd <MaxBuff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
54 IO1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
55 std Buffsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
56 ldx <MemTop Buffer starts at MemTop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
57 stx Buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
58 stx Buffend
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
59 stx Buffstart
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
60 leax d,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
61 stx <MemTop Move MemTop up
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
62 pshs d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
63 ldd <MemSiz Decrease MemSiz accordingly
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
64 subd ,s++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
65 std <MemSiz
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
66 puls x,a,b
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
67 cmpx #0000
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
68 bne IO2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
69 lda #StdIn
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
70 bra IO3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
71 IO2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
72 os9 I$Open
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
73 bcs IOexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
74 IO3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
75 sta Path
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
76 IOexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
77 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
78
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
79 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
80 * Return Y bytes from input file, to [X]
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
81 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
82 I_Read:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
83 cmpy #0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
84 beq _I_R_quit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
85 tst errorno If there's an error from the last operation,
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
86 beq _I_Read return that as an error code.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
87 ldb errorno
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
88 orcc #Carry Set carry.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
89 _I_R_quit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
90 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
91
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
92 _I_Read
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
93 pshs a,b,x,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
94 pshs x Extra copy of initial pointer, for final calculation
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
95 IR_Again
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
96 ldu Buffstart Get start of data
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
97 IR_Loop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
98 cmpu Buffend Is this the end?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
99 bne IR_go
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
100 bsr fillBuff Yes, fill buffer from file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
101 bcc IR_Again
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
102 stb errorno store error if any
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
103 andcc #^Carry clear carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
104 bra IR_exit return
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
105 IR_go
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
106 lda ,u+ move one byte
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
107 sta ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
108 leay -1,y Does this fill the request?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
109 bne IR_Loop No, keep going.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
110 andcc #^Carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
111 IR_exit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
112 pshs cc Save condition codes, especially Carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
113 stu Buffstart Save new start of buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
114 tfr x,d Calculate number of bytes copied.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
115 subd 1,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
116 tfr d,y Y has number of bytes copied
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
117 addd FilePos Update FilePos counter.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
118 std FilePos
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
119 puls cc Restore CC
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
120 puls d Clean up stack.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
121 puls a,b,x,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
122
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
123
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
124 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
125 * Return a single byte from input file, return in A
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
126 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
127 I_GetByte:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
128 tst errorno If there's an error from the last operation,
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
129 beq _I_GetByte return that as an error code.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
130 ldb errorno
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
131 orcc #Carry Set carry.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
132 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
133 _I_GetByte
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
134 pshs x,b
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
135 ldx Buffstart Get start of data
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
136 cmpx Buffend Is this the end?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
137 bne IG_go
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
138 bsr fillBuff Yes, fill buffer from file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
139 bcc IG_go
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
140 stb errorno store error if any
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
141 andcc #^Carry clear carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
142 bra IG_exit return
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
143 IG_go
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
144 ldx Buffstart
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
145 lda ,x+ move one byte
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
146 stx Buffstart
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
147 ldx FilePos
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
148 leax 1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
149 stx FilePos
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
150 andcc #^Carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
151 IG_exit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
152 puls b,x,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
153
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
154 fillBuff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
155 pshs a,x,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
156 lda Path
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
157 ldy Buffsize Maximum number of characters we can buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
158 ldx Buffer Location of buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
159 stx Buffstart First char in buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
160 os9 I$Read
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
161 bcs fillexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
162 pshs b
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
163 tfr y,d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
164 leax d,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
165 stx Buffend Set end of buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
166 puls b
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
167 andcc #^Carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
168 fillexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
169 puls a,x,y,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
170
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
171 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
172 * Close input file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
173 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
174 I_Close:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
175 pshs a
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
176 lda Path
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
177 os9 I$Close
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
178 puls a,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
179
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
180 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
181 * Return size of file in D (truncated to $ffff)
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
182 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
183 I_Size:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
184 pshs x,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
185 lda Path
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
186 ldb #SS.Size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
187 os9 I$GetStt
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
188 bcs ISexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
189 tfr u,d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
190 cmpx #0000 Is top 16 bits = 0000 ??
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
191 beq ISexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
192 ldd #$ffff No, return file size = $ffff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
193 ISexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
194 puls x,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
195
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
196 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
197 * Input: X points to null-terminated string, possibly containing embedded
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
198 * CR characters.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
199 * String is output to StdOut, with full line editing a la I$WritLn
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
200 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
201 O_Write:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
202 pshs a,x,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
203 pshs x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
204 ldy #0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
205 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
206 beq OWexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
207 OWloop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
208 leay 1,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
209 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
210 bne OWloop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
211 ldx ,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
212
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
213 OWloop1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
214 sty ,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
215 lda #StdOut
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
216 os9 I$WritLn
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
217 bcs OWexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
218 pshs y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
219 ldd ,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
220 leax d,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
221 ldd 2,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
222 subd ,s++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
223 tfr d,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
224 bne OWloop1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
225
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
226 OWokay
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
227 andcc #^Carry
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
228 OWexit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
229 puls x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
230 puls a,x,y,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
231
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
232 endsect