2824
|
1 * Disassembly by Os9disasm of getopt.r
|
|
2
|
|
3 * class D external label equates
|
|
4
|
|
5 D0000 equ $0000
|
|
6 D003a equ $003a
|
|
7
|
|
8 * class X external label equates
|
|
9
|
|
10 X2061 equ $2061
|
|
11 X7469 equ $7469
|
|
12
|
|
13 section bss
|
|
14
|
|
15 * Uninitialized data (class B)
|
|
16 optopt: rmb 2
|
|
17 optarg: rmb 2
|
|
18 * Initialized Data (class G)
|
|
19 opterr: fcb $00
|
|
20 fcb $01
|
|
21 optind: fcb $00
|
|
22 fcb $01
|
|
23 G0004 fdb L0156
|
|
24
|
|
25 endsect
|
|
26
|
|
27 section code
|
|
28
|
|
29 getopt: pshs u
|
|
30 ldb [G0004,y]
|
|
31 bne L004f
|
|
32 ldd optind,y
|
|
33 cmpd 4,s
|
|
34 bge L004a
|
|
35 ldd optind,y
|
|
36 lslb
|
|
37 rola
|
|
38 ldx 6,s
|
|
39 leax d,x
|
|
40 ldd ,x
|
|
41 std G0004,y
|
|
42 tfr d,x
|
|
43 ldb ,x
|
|
44 cmpb #$2d
|
|
45 bne L004a
|
|
46 ldx G0004,y
|
|
47 leax 1,x
|
|
48 stx G0004,y
|
|
49 ldb ,x
|
|
50 beq L004a
|
|
51 ldb [G0004,y]
|
|
52 cmpb #$2d
|
|
53 bne L004f
|
|
54 ldd optind,y
|
|
55 addd #1
|
|
56 std optind,y
|
|
57 L004a ldd #-1
|
|
58 puls u,pc
|
|
59 L004f ldx G0004,y
|
|
60 leax 1,x
|
|
61 stx G0004,y
|
|
62 ldb -1,x
|
|
63 sex
|
|
64 std optopt,y
|
|
65 cmpd #$003a
|
|
66 beq L007b
|
|
67 ldd optopt,y
|
|
68 pshs d
|
|
69 ldd 10,s
|
|
70 pshs d
|
|
71 lbsr strchr
|
|
72 leas 4,s
|
|
73 tfr d,u
|
|
74 stu -2,s
|
|
75 bne L00a8
|
|
76 L007b ldb [G0004,y]
|
|
77 bne L008c
|
|
78 ldd optind,y
|
|
79 addd #1
|
|
80 std optind,y
|
|
81 L008c leax _iob+26,y
|
|
82 pshs x
|
|
83 ldd [8,s]
|
|
84 pshs d
|
|
85 lbsr fputs
|
|
86 leas 4,s
|
|
87 leax _iob+26,y
|
|
88 pshs x
|
|
89 leax L0157,pcr
|
|
90 bra L0100
|
|
91 L00a8 leau 1,u
|
|
92 ldb ,u
|
|
93 cmpb #$3a
|
|
94 beq L00c1
|
|
95 clra
|
|
96 clrb
|
|
97 std optarg,y
|
|
98 ldb [G0004,y]
|
|
99 lbne L0150
|
|
100 lbra L0145
|
|
101 L00c1 ldb [G0004,y]
|
|
102 beq L00ce
|
|
103 ldd G0004,y
|
|
104 lbra L0139
|
|
105 L00ce ldd optind,y
|
|
106 addd #1
|
|
107 std optind,y
|
|
108 cmpd 4,s
|
|
109 blt L012d
|
|
110 leax L016c,pcr
|
|
111 stx G0004,y
|
|
112 leax _iob+26,y
|
|
113 pshs x
|
|
114 ldd [8,s]
|
|
115 pshs d
|
|
116 lbsr fputs
|
|
117 leas 4,s
|
|
118 leax _iob+26,y
|
|
119 pshs x
|
|
120 leax >L016d,pcr
|
|
121 L0100 pshs x
|
|
122 lbsr fputs
|
|
123 leas 4,s
|
|
124 leax _iob+26,y
|
|
125 pshs x
|
|
126 ldd optopt,y
|
|
127 pshs d
|
|
128 lbsr putc
|
|
129 leas 4,s
|
|
130 leax _iob+26,y
|
|
131 pshs x
|
|
132 ldd #$000d
|
|
133 pshs d
|
|
134 lbsr putc
|
|
135 leas 4,s
|
|
136 ldd #$003f
|
|
137 puls u,pc
|
|
138 L012d ldd optind,y
|
|
139 lslb
|
|
140 rola
|
|
141 ldx 6,s
|
|
142 leax d,x
|
|
143 ldd ,x
|
|
144 L0139 std optarg,y
|
|
145 leax >L018f,pcr
|
|
146 stx G0004,y
|
|
147 L0145 ldd optind,y
|
|
148 addd #1
|
|
149 std optind,y
|
|
150 L0150 ldd optopt,y
|
|
151 puls u,pc
|
|
152 * neg D003a
|
|
153 *L0157 equ *-1
|
|
154 * bra L01c3
|
|
155 * inc 12,s
|
|
156 * fcb $65
|
|
157 * asr 1,s
|
|
158 * fcb $6c
|
|
159 * bra L01d1
|
|
160 * neg X7469
|
|
161 * clr 14,s
|
|
162 * bra L0196
|
|
163 * blt L018b
|
|
164 * neg D0000
|
|
165 *L016c equ *-1
|
|
166 *L016d abx
|
|
167 * bra L01df
|
|
168 * neg X7469
|
|
169 * clr 14,s
|
|
170 * bra L01e9
|
|
171 * fcb $65
|
|
172 * fcb $71
|
|
173 * fcb $75
|
|
174 * rol -14,s
|
|
175 * fcb $65
|
|
176 * com X2061
|
|
177 * fcb $6e
|
|
178 * bra L01e4
|
|
179 * fcb $72
|
|
180 * asr -11,s
|
|
181 * tst 5,s
|
|
182 * jmp -12,s
|
|
183 * bra L01b9
|
|
184 *L018b equ *-1
|
|
185 * blt L01ae
|
|
186 * neg D0000
|
|
187
|
|
188 endsect
|
|
189
|