Mercurial > hg > Members > kono > os9 > sbc09
comparison CoCoOS9/level2v3/CMDS/binex.asm @ 31:bd2b07db8917 cocoos9lv2v3
CoCoOS9 version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Jul 2018 15:16:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
30:7b1b25ff010a | 31:bd2b07db8917 |
---|---|
1 ******************************************************************** | |
2 * Binex - Motorola S-Record utility | |
3 * | |
4 * $Id: binex.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
8 * 67 Original Tandy distribution version | |
9 | |
10 nam Binex | |
11 ttl Motorola S-Record utility | |
12 | |
13 * Disassembled 98/09/15 00:08:52 by Disasm v1.6 (C) 1988 by RML | |
14 | |
15 ifp1 | |
16 use defsfile | |
17 endc | |
18 | |
19 tylg set Prgrm+Objct | |
20 atrv set ReEnt+rev | |
21 rev set $01 | |
22 edition set 67 | |
23 | |
24 mod eom,name,tylg,atrv,start,size | |
25 | |
26 u0000 rmb 1 | |
27 u0001 rmb 1 | |
28 u0002 rmb 2 | |
29 u0004 rmb 1 | |
30 u0005 rmb 1 | |
31 u0006 rmb 1 | |
32 u0007 rmb 2 | |
33 u0009 rmb 1 | |
34 u000A rmb 2 | |
35 u000C rmb 1 | |
36 u000D rmb 31 | |
37 u002C rmb 1 | |
38 u002D rmb 1 | |
39 u002E rmb 1 | |
40 u002F rmb 2 | |
41 u0031 rmb 2 | |
42 u0033 rmb 2 | |
43 u0035 rmb 656 | |
44 size equ . | |
45 | |
46 name fcs /Binex/ | |
47 fcc "Copyright 1982 Motorola, Inc." | |
48 fcb $01 | |
49 | |
50 start stx <u0002 | |
51 lda #$01 | |
52 os9 I$Open | |
53 bcc L003C | |
54 L0039 os9 F$Exit | |
55 L003C sta <u0000 | |
56 stx <u0002 | |
57 lda #$02 | |
58 ldb #$7F | |
59 os9 I$Create | |
60 bcs L0039 | |
61 sta <u0001 | |
62 stx <u0002 | |
63 ldd #$0000 | |
64 sta <u0006 | |
65 std <u000A | |
66 std <u002F | |
67 ldx #$5330 | |
68 stx <u002D | |
69 ldx #$3030 | |
70 stx <u0031 | |
71 stx <u0033 | |
72 L0062 leax >L0217,pcr | |
73 lda #$01 | |
74 ldy #$0022 | |
75 os9 I$Write | |
76 leax <u0031,u | |
77 lda #$00 | |
78 ldy #$0005 | |
79 os9 I$ReadLn | |
80 leay -$01,y | |
81 cmpy #$0000 | |
82 beq L0062 | |
83 cmpy #$0004 | |
84 bhi L0062 | |
85 beq L00A7 | |
86 tfr y,d | |
87 pshs b | |
88 decb | |
89 leax <u0031,u | |
90 leay $04,x | |
91 L0095 lda b,x | |
92 sta ,-y | |
93 decb | |
94 bpl L0095 | |
95 ldb #$04 | |
96 subb ,s+ | |
97 lda #$30 | |
98 L00A2 sta ,-y | |
99 decb | |
100 bgt L00A2 | |
101 L00A7 lbsr L0178 | |
102 leax >L01F9,pcr | |
103 lda #$01 | |
104 ldy #$001E | |
105 os9 I$Write | |
106 leax u000C,u | |
107 lda #$00 | |
108 ldy #$0015 | |
109 os9 I$ReadLn | |
110 leay -$01,y | |
111 cmpy #$0000 | |
112 bne L0120 | |
113 L00CA lda <u0000 | |
114 leax u000C,u | |
115 ldy #$0020 | |
116 os9 I$Read | |
117 lbcs L0160 | |
118 cmpy #$0000 | |
119 lbeq L0160 | |
120 lda <u0006 | |
121 bne L0120 | |
122 inc <u0006 | |
123 lda #$31 | |
124 sta <u002E | |
125 ldx <u0004 | |
126 stx <u000A | |
127 ldx u000C,u | |
128 cmpx #$87CD | |
129 beq L0120 | |
130 leax >L0239,pcr | |
131 pshs y | |
132 ldy #$003C | |
133 lda #$01 | |
134 os9 I$Write | |
135 leax <u0035,u | |
136 ldy #$0002 | |
137 lda #$00 | |
138 os9 I$ReadLn | |
139 puls y | |
140 lda <u0035,u | |
141 anda #$DF | |
142 cmpa #$59 | |
143 beq L0120 | |
144 L011C clrb | |
145 os9 F$Exit | |
146 L0120 sty <u0007 | |
147 tfr y,d | |
148 addb #$03 | |
149 stb <u0009 | |
150 leax u0009,u | |
151 clra | |
152 ldb ,x | |
153 L012E adda ,x+ | |
154 decb | |
155 bne L012E | |
156 coma | |
157 sta ,x | |
158 leax u0009,u | |
159 leay <u002F,u | |
160 ldb ,x | |
161 incb | |
162 L013E bsr L01B6 | |
163 decb | |
164 bne L013E | |
165 ldb #$0D | |
166 stb ,y | |
167 leax <u002D,u | |
168 ldy #$0073 | |
169 lda <u0001 | |
170 os9 I$WritLn | |
171 lbcs L0039 | |
172 ldd <u000A | |
173 addd <u0007 | |
174 std <u000A | |
175 lbra L00CA | |
176 L0160 cmpb #$D3 | |
177 lbne L0039 | |
178 lda #$39 | |
179 cmpa <u002E | |
180 beq L011C | |
181 sta <u002E | |
182 ldx <u0004 | |
183 stx <u000A | |
184 ldy #$0000 | |
185 bra L0120 | |
186 L0178 bsr L017C | |
187 sta <u0004 | |
188 L017C lda ,x+ | |
189 bsr L0197 | |
190 lsla | |
191 lsla | |
192 lsla | |
193 lsla | |
194 anda #$F0 | |
195 pshs a | |
196 lda ,x+ | |
197 bsr L0197 | |
198 adda ,s+ | |
199 sta <u0005 | |
200 adda <u002C | |
201 sta <u002C | |
202 lda <u0005 | |
203 rts | |
204 L0197 suba #$30 | |
205 bmi L01A6 | |
206 cmpa #$09 | |
207 ble L01A5 | |
208 suba #$07 | |
209 cmpa #$0F | |
210 bhi L01A6 | |
211 L01A5 rts | |
212 L01A6 leax >L01D7,pcr | |
213 lda #$02 | |
214 ldy #$00FF | |
215 os9 I$WritLn | |
216 lbra L011C | |
217 L01B6 pshs b,a | |
218 lda ,x+ | |
219 tfr a,b | |
220 lsra | |
221 lsra | |
222 lsra | |
223 lsra | |
224 bsr L01CC | |
225 sta ,y+ | |
226 tfr b,a | |
227 bsr L01CC | |
228 sta ,y+ | |
229 puls pc,b,a | |
230 L01CC anda #$0F | |
231 adda #$30 | |
232 cmpa #$39 | |
233 bls L01D6 | |
234 adda #$07 | |
235 L01D6 rts | |
236 L01D7 fcc "** NON-HEX CHARACTER ENCOUNTERED" | |
237 fcb $07,C$CR | |
238 L01F9 fcc "Enter name for header record: " | |
239 L0217 fcc "Enter starting address for file: $" | |
240 L0239 fcb $07,C$CR,C$LF | |
241 fcc "** Not a binary load module file. Proceed anyway (Y/N)? " | |
242 | |
243 emod | |
244 eom equ * | |
245 end |