Mercurial > hg > Members > kono > nitros9-code
annotate level1/cmds/exbin.asm @ 938:cef89b8a4241
Fixed some bad assembler assumptions
author | boisy |
---|---|
date | Tue, 21 Jan 2003 05:26:20 +0000 |
parents | c155aac72190 |
children | 84ea83668304 |
rev | line source |
---|---|
0 | 1 ******************************************************************** |
2 * Exbin - Motorola S-Record utility | |
3 * | |
4 * $Id$ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
0
diff
changeset
|
8 * 67 From Tandy OS-9 Level One VR 02.00.00 |
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
0
diff
changeset
|
9 * 68 Made proper edition number BGP 02/07/14 |
846 | 10 * 1 Restarted edition, removed Motorola copyright BGP 03/01/14 |
0 | 11 |
12 nam Exbin | |
13 ttl Motorola S-Record utility | |
14 | |
15 * Disassembled 98/09/15 00:16:49 by Disasm v1.6 (C) 1988 by RML | |
16 | |
17 ifp1 | |
18 use defsfile | |
19 endc | |
20 | |
21 tylg set Prgrm+Objct | |
22 atrv set ReEnt+rev | |
23 rev set $01 | |
846 | 24 edition set 1 |
0 | 25 |
26 mod eom,name,tylg,atrv,start,size | |
27 | |
924 | 28 org 0 |
0 | 29 u0000 rmb 1 |
30 u0001 rmb 1 | |
31 u0002 rmb 2 | |
32 u0004 rmb 1 | |
33 u0005 rmb 1 | |
34 u0006 rmb 2 | |
35 u0008 rmb 1 | |
36 u0009 rmb 2 | |
37 u000B rmb 1 | |
38 u000C rmb 1 | |
39 u000D rmb 1 | |
40 u000E rmb 1 | |
41 u000F rmb 1 | |
42 u0010 rmb 2 | |
43 u0012 rmb 2 | |
44 u0014 rmb 2 | |
45 u0016 rmb 656 | |
46 size equ . | |
47 | |
48 name fcs /Exbin/ | |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
0
diff
changeset
|
49 fcb edition |
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
0
diff
changeset
|
50 |
846 | 51 * fcc "Copyright 1982 Motorola, Inc." |
52 * fcb $01 | |
0 | 53 |
54 start stx <u0002 | |
846 | 55 lda #READ. |
0 | 56 os9 I$Open |
57 bcc L003C | |
58 L0039 os9 F$Exit | |
59 L003C sta <u0000 | |
60 stx <u0002 | |
846 | 61 lda #WRITE. |
62 ldb #SHARE.+PEXEC.+PWRIT.+PREAD.+EXEC.+UPDAT. | |
0 | 63 os9 I$Create |
64 bcs L0039 | |
65 sta <u0001 | |
66 stx <u0002 | |
67 ldd #$0000 | |
68 std <u0009 | |
69 std <u000B | |
70 sta <u000F | |
71 ldx #$4E61 | |
72 stx <u0010 | |
73 ldx #$6D65 | |
74 stx <u0012 | |
75 ldx #$3D20 | |
76 stx <u0014 | |
77 L0065 lda <u0000 | |
78 leax <u0016,u | |
79 ldy #$0100 | |
80 os9 I$ReadLn | |
81 lbcs L0114 | |
82 leax <u0016,u | |
83 tfr x,y | |
84 tfr x,d | |
85 addd #$0100 | |
86 std <u0006 | |
87 L0081 lda ,x+ | |
88 cmpa #$53 | |
89 beq L008D | |
90 cmpx <u0006 | |
91 bne L0081 | |
92 bra L0065 | |
93 L008D lda ,x+ | |
94 suba #$30 | |
95 sta <u000E | |
96 beq L009E | |
97 cmpa #$09 | |
98 bne L009B | |
99 bra L0065 | |
100 L009B deca | |
101 bne L0065 | |
102 L009E bsr L011F | |
103 sta <u0008 | |
104 suba #$03 | |
105 sta <u000C | |
106 sta <u000D | |
107 bsr L011B | |
108 tst <u000E | |
109 beq L00CD | |
110 pshs x | |
111 ldx <u0009 | |
112 lda <u000F | |
113 beq L00C0 | |
114 cmpx <u0004 | |
115 beq L00C6 | |
846 | 116 leax >NonCtg,pcr |
0 | 117 bra L00DE |
118 L00C0 ldx <u0004 | |
119 lda #$01 | |
120 sta <u000F | |
121 L00C6 ldb <u000C | |
122 abx | |
123 stx <u0009 | |
124 puls x | |
125 L00CD bsr L011F | |
126 sta ,y+ | |
127 dec <u000D | |
128 bpl L00CD | |
129 lda <u0008 | |
130 inca | |
131 beq L00EB | |
846 | 132 leax >CSumErr,pcr |
0 | 133 L00DE lda #$02 |
134 ldy #$00FF | |
135 os9 I$WritLn | |
136 L00E7 clrb | |
137 lbra L0039 | |
138 L00EB lda <u000E | |
139 bne L0102 | |
140 lda #$0D | |
141 sta ,-y | |
142 lda #$01 | |
143 ldy #$00FF | |
144 leax <u0010,u | |
145 os9 I$WritLn | |
146 lbra L0065 | |
147 L0102 lda <u0001 | |
148 ldy <u000B | |
149 leax <u0016,u | |
150 os9 I$Write | |
151 lbcc L0065 | |
152 lbra L0039 | |
153 L0114 cmpb #$D3 | |
154 beq L00E7 | |
155 lbra L0039 | |
156 L011B bsr L011F | |
157 sta <u0004 | |
158 L011F lda ,x+ | |
159 bsr L013A | |
160 lsla | |
161 lsla | |
162 lsla | |
163 lsla | |
164 anda #$F0 | |
165 pshs a | |
166 lda ,x+ | |
167 bsr L013A | |
168 adda ,s+ | |
169 sta <u0005 | |
170 adda <u0008 | |
171 sta <u0008 | |
172 lda <u0005 | |
173 rts | |
174 L013A suba #$30 | |
175 bmi L0149 | |
176 cmpa #$09 | |
177 ble L0148 | |
178 suba #$07 | |
179 cmpa #$0F | |
180 bhi L0149 | |
181 L0148 rts | |
846 | 182 L0149 leax >NonHex,pcr |
0 | 183 bra L00DE |
846 | 184 NonHex fcc "** Non-hex character encountered" |
185 fcb C$BELL,C$CR | |
186 CSumErr fcc "** Checksum error detected" | |
187 fcb C$BELL,C$CR | |
188 NonCtg fcc "** Non-contiguous address space detected" | |
189 fcb C$BELL,C$CR | |
0 | 190 |
191 emod | |
192 eom equ * | |
193 end |