annotate 3rdparty/utils/view/view_parse.a @ 3072:32191c9fe2cd

makefiles: Always use ECHO macro define
author Tormod Volden <debian.tormod@gmail.com>
date Sun, 22 Feb 2015 14:36:52 +0100
parents 37fd74e6fad8
children
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 * Parse options line for ``view'' utility.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
3 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
4 * Global labels:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
5 * Parse: Do command line parsing, set flags, open file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
6 * Getnum: Interpret a number, for use by options subs in view_table.a
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
7 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
8 * The table of options is in the file view_table.a
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
9 * This file contains the actual parsing code.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
10 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
11 * An option without `-' is interpreted as a filename, and the corresponding
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
12 * file is opened for buffered input, via the routines in view_io.a
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
13 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
14 ifp1
1912
37fd74e6fad8 Now assembles with rma, uses os9defs.d in c3
boisy
parents: 1777
diff changeset
15 use os9defs.d
1706
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
16 endc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
17
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
18 StdIn equ 0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
19 StdOut equ 1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
20 StdErr equ 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
21 OPT.DTP equ 0 Offset to Device TyPe byte in Path Descriptor Options section
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
22
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
23 psect view_parse_a,0,0,0,0,0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
24
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
25 vsect dp
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
26 fnameptr rmb 2 Pointer to filename
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
27 endsect
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
28
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
29 vsect
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
30 Option rmb 20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
31 endsect
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 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
35 * Entry point
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
36 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
37 Parse:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
38 pshs a,b,x,y,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
39
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
40 ldd #0000
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
41 std <fnameptr
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
42
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
43 Parse1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
44 lbsr Skipblanks Move past blanks, return first non-blank char.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
45
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
46 cmpa #$0d CR marks end of options.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
47 beq Openfile Try to open the file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
48
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
49 cmpa #'- Does this word start with '-'?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
50 beq Parse2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
51 stx <fnameptr No, must be filename
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
52 lbsr Skipword
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
53 bra Parse1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
54 Parse2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
55 leax 1,x Bump past `-'
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
56
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
57 leau PTable,pcr Check table with format type options
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
58 lbsr DoOption Try to perform this option.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
59 beq Parse3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
60 lbsr Help
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
61 ldb #1 Illegal argument error.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
62 lbra _error unrecognized option.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
63
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
64 Parse3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
65 lda ,x+ Skip any remaining chars in this option word
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
66 cmpa #$20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
67 bgt Parse3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
68 beq Parse4 Exit on Space
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
69 cmpa #$0d Exit on CR
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
70 beq Parse4
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
71 lbsr Help Other control-- report error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
72 ldb #1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
73 lbra _error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
74 Parse4
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
75 leax -1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
76 bra Parse1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
77
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
78 Openfile
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
79 ldx <fnameptr
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
80 bne Parse6 If ptr is null, then no name was given.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
81
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
82 lda #StdIn Is StdIn from an SCF device?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
83 ldb #SS.Opt
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
84 leax altbuff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
85 os9 I$GetStt Get options section of StdIn path descriptor
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
86 lbcs _error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
87 lda OPT.DTP,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
88 bne Parse7 Not SCF, so must be redirected picture coming in.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
89
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
90 lbsr Help If StdIn is SCF, then give help message and exit.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
91 ldb #1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
92 lbra _error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
93
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
94 * "fnameptr" points to first char of filename, so search for period
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
95 Parse6
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
96 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
97 cmpa #$20 If we find a space first, then there is no extension.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
98 beq Parse7
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
99 cmpa #$0d ...or a CR.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
100 beq Parse7
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
101 cmpa #'. If we find a period first, then we've found the extension.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
102 bne Parse6
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
103 leau PTable,pcr
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
104 lbsr DoOption Treat extension as an option spec.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
105 bra Parse6
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
106
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
107 * Set default format and open file for input
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
108 Parse7
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
109 lbsr DefFormat If no other file format specification, Set default format.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
110
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
111 ldx <fnameptr
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
112 lda #READ. open file
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
113 lbsr I_Open
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
114 lbcs _error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
115
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
116 puls a,b,x,y,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
117
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
118 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
119 * Call subroutine indicated by option pointed to by X
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
120 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
121 * Returns B=1 if error, B=0 otherwise
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
122 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
123 DoOption
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
124 pshs a,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
125 DoOpt1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
126 tst ,u Is this the null string?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
127 bne DoOpt11 If yes, end of table.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
128 ldb #1 Illegal Argument error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
129 bra DoOpt3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
130 DoOpt11
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
131 lbsr CompOptions Compare with this option.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
132 beq DoOpt2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
133 leau 4,u Skip format specifier, branch instruction.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
134 bra DoOpt1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
135 DoOpt2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
136 lda ,u Get code to hand to option processor.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
137 jsr 1,u Jump to routine to handle this option.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
138 clrb Exit with no error.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
139 DoOpt3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
140 tstb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
141 puls a,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
142
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
143 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
144 * Compare initial part of string at X to string at U.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
145 * B=0 -> match
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
146 * X is advanced to first character difft from string at U
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
147 * U string is null-terminated, U advanced to point to byte after null.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
148 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
149 CompOptions
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
150 pshs a,x We'll overwrite X value if we get a match
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
151 CompLoop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
152 ldb ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
153 bne CompGo
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
154 stx 1,s Return first different X
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
155 bra CompEnd
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
156 CompGo
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
157 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
158 cmpa #'A
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
159 blo CompCase Convert letter to lowercase
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
160 cmpa #'Z
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
161 bhi CompCase
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
162 adda #'a-'A
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
163 CompCase
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
164 pshs a
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
165 subb ,s+ Does this character match?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
166 beq CompLoop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
167 leax -1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
168 Comp1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
169 lda ,u+ Match failed, advance U anyway
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
170 bne Comp1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
171 CompEnd
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
172 tstb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
173 puls a,x,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
174
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
175 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
176 * Get decimal number at X into D, move X to first non-digit
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
177 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
178 Getnum:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
179 ldd #0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
180 pshs d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
181 Getnum0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
182 lda ,x+ Skip leading spaces.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
183 cmpa #$20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
184 beq Getnum0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
185 leax -1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
186 Getnum1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
187 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
188 cmpa #$0d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
189 beq Getnum2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
190 cmpa #$20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
191 bge Getnum10
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
192 lbsr Help
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
193 ldb #1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
194 lbra _error
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
195 Getnum10
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
196 cmpa #'0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
197 blo Getnum2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
198 cmpa #'9
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
199 bhi Getnum2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
200 suba #'0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
201 pshs a
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
202 ldd 1,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
203 lslb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
204 rola
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
205 pshs d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
206 lslb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
207 rola
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
208 lslb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
209 rola
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
210 addd ,s++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
211 addb ,s+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
212 adca #0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
213 std ,s
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
214 bra Getnum1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
215 Getnum2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
216 leax -1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
217 puls d
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
218 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
219
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
220 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
221 * Move X to point to first non-blank char. Return char in A.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
222 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
223 Skipblanks
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
224 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
225 cmpa #$20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
226 beq Skipblanks
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
227 cmpa #$09
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
228 beq Skipblanks
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
229 leax -1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
230 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
231
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
232 Skipword
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
233 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
234 cmpa #$20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
235 bgt Skipword
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
236 leax -1,x
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
237 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
238
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
239 endsect