0
|
1 ********************************************************************
|
|
2 * Exbin - Motorola S-Record utility
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
|
8 * 67 Original Tandy distribution version
|
|
9
|
|
10 nam Exbin
|
|
11 ttl Motorola S-Record utility
|
|
12
|
|
13 * Disassembled 98/09/15 00:16:49 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
|
|
23 mod eom,name,tylg,atrv,start,size
|
|
24
|
|
25 u0000 rmb 1
|
|
26 u0001 rmb 1
|
|
27 u0002 rmb 2
|
|
28 u0004 rmb 1
|
|
29 u0005 rmb 1
|
|
30 u0006 rmb 2
|
|
31 u0008 rmb 1
|
|
32 u0009 rmb 2
|
|
33 u000B rmb 1
|
|
34 u000C rmb 1
|
|
35 u000D rmb 1
|
|
36 u000E rmb 1
|
|
37 u000F rmb 1
|
|
38 u0010 rmb 2
|
|
39 u0012 rmb 2
|
|
40 u0014 rmb 2
|
|
41 u0016 rmb 656
|
|
42 size equ .
|
|
43
|
|
44 name fcs /Exbin/
|
|
45 fcc "Copyright 1982 Motorola, Inc."
|
|
46 fcb $01
|
|
47
|
|
48 start stx <u0002
|
|
49 lda #$01
|
|
50 os9 I$Open
|
|
51 bcc L003C
|
|
52 L0039 os9 F$Exit
|
|
53 L003C sta <u0000
|
|
54 stx <u0002
|
|
55 lda #$02
|
|
56 ldb #$7F
|
|
57 os9 I$Create
|
|
58 bcs L0039
|
|
59 sta <u0001
|
|
60 stx <u0002
|
|
61 ldd #$0000
|
|
62 std <u0009
|
|
63 std <u000B
|
|
64 sta <u000F
|
|
65 ldx #$4E61
|
|
66 stx <u0010
|
|
67 ldx #$6D65
|
|
68 stx <u0012
|
|
69 ldx #$3D20
|
|
70 stx <u0014
|
|
71 L0065 lda <u0000
|
|
72 leax <u0016,u
|
|
73 ldy #$0100
|
|
74 os9 I$ReadLn
|
|
75 lbcs L0114
|
|
76 leax <u0016,u
|
|
77 tfr x,y
|
|
78 tfr x,d
|
|
79 addd #$0100
|
|
80 std <u0006
|
|
81 L0081 lda ,x+
|
|
82 cmpa #$53
|
|
83 beq L008D
|
|
84 cmpx <u0006
|
|
85 bne L0081
|
|
86 bra L0065
|
|
87 L008D lda ,x+
|
|
88 suba #$30
|
|
89 sta <u000E
|
|
90 beq L009E
|
|
91 cmpa #$09
|
|
92 bne L009B
|
|
93 bra L0065
|
|
94 L009B deca
|
|
95 bne L0065
|
|
96 L009E bsr L011F
|
|
97 sta <u0008
|
|
98 suba #$03
|
|
99 sta <u000C
|
|
100 sta <u000D
|
|
101 bsr L011B
|
|
102 tst <u000E
|
|
103 beq L00CD
|
|
104 pshs x
|
|
105 ldx <u0009
|
|
106 lda <u000F
|
|
107 beq L00C0
|
|
108 cmpx <u0004
|
|
109 beq L00C6
|
|
110 leax >L018D,pcr
|
|
111 bra L00DE
|
|
112 L00C0 ldx <u0004
|
|
113 lda #$01
|
|
114 sta <u000F
|
|
115 L00C6 ldb <u000C
|
|
116 abx
|
|
117 stx <u0009
|
|
118 puls x
|
|
119 L00CD bsr L011F
|
|
120 sta ,y+
|
|
121 dec <u000D
|
|
122 bpl L00CD
|
|
123 lda <u0008
|
|
124 inca
|
|
125 beq L00EB
|
|
126 leax >L0171,pcr
|
|
127 L00DE lda #$02
|
|
128 ldy #$00FF
|
|
129 os9 I$WritLn
|
|
130 L00E7 clrb
|
|
131 lbra L0039
|
|
132 L00EB lda <u000E
|
|
133 bne L0102
|
|
134 lda #$0D
|
|
135 sta ,-y
|
|
136 lda #$01
|
|
137 ldy #$00FF
|
|
138 leax <u0010,u
|
|
139 os9 I$WritLn
|
|
140 lbra L0065
|
|
141 L0102 lda <u0001
|
|
142 ldy <u000B
|
|
143 leax <u0016,u
|
|
144 os9 I$Write
|
|
145 lbcc L0065
|
|
146 lbra L0039
|
|
147 L0114 cmpb #$D3
|
|
148 beq L00E7
|
|
149 lbra L0039
|
|
150 L011B bsr L011F
|
|
151 sta <u0004
|
|
152 L011F lda ,x+
|
|
153 bsr L013A
|
|
154 lsla
|
|
155 lsla
|
|
156 lsla
|
|
157 lsla
|
|
158 anda #$F0
|
|
159 pshs a
|
|
160 lda ,x+
|
|
161 bsr L013A
|
|
162 adda ,s+
|
|
163 sta <u0005
|
|
164 adda <u0008
|
|
165 sta <u0008
|
|
166 lda <u0005
|
|
167 rts
|
|
168 L013A suba #$30
|
|
169 bmi L0149
|
|
170 cmpa #$09
|
|
171 ble L0148
|
|
172 suba #$07
|
|
173 cmpa #$0F
|
|
174 bhi L0149
|
|
175 L0148 rts
|
|
176 L0149 leax >L014F,pcr
|
|
177 bra L00DE
|
|
178 L014F fcc "** NON-HEX CHARACTER ENCOUNTERED"
|
|
179 fcb $07,C$CR
|
|
180 L0171 fcc "** CHECKSUM ERROR DETECTED"
|
|
181 fcb $07,C$CR
|
|
182 L018D fcc "** NON-CONTIGUOUS ADDRESS SPACE DETECTED"
|
|
183 fcb $07,C$CR
|
|
184
|
|
185 emod
|
|
186 eom equ *
|
|
187 end
|