Mercurial > hg > Members > kono > os9 > sbc09
annotate os9/mc09/crtos9.asm @ 103:844305752064
no compile errors on mc09
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 27 Dec 2018 20:16:34 +0900 |
parents | 09148bb27659 |
children | 096b3fc7aa66 |
rev | line source |
---|---|
99 | 1 |
2 * | |
3 * micro-C driver under FLEX | |
4 * | |
5 * 12-Dec-81 M.Ohta,H.Tezuka | |
101 | 6 * 12-Dec-2018 S.Kono |
99 | 7 * |
8 | |
101 | 9 * |
10 * micro-C user program | |
11 * | |
103
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
12 _tylg set Prgrm+Objct |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
13 _atrv set ReEnt+rev |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
14 _rev set $00 |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
15 _edition set 5 |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
16 ifp1 |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
17 use defsfile |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
18 endc |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
19 |
844305752064
no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
102
diff
changeset
|
20 |
101 | 21 * OPT LIST |
22 INCLUDE "c.out" include compilers output | |
23 * OPT NOL | |
99 | 24 |
101 | 25 * x arguments pointer |
26 * u global variable area | |
27 _start | |
28 _00000 | |
29 LEAS -256,S ALLOCATE WORK AREA | |
30 leay ,u | |
31 pshs d,x POINT TO CONTENT OF ARGUMENT VECTOR | |
32 PSHS Y | |
102 | 33 * clear globals on Y |
99 | 34 LDX #_GLOBALS |
35 _0C002 BEQ _0C003 | |
36 CLR ,Y+ | |
37 LEAX -1,X | |
38 BRA _0C002 | |
39 | |
101 | 40 _0C003 PULS Y |
99 | 41 LBSR _INITIALIZE call initializer |
42 LBSR _main | |
101 | 43 exit clrb |
44 os9 F$Exit | |
99 | 45 |
46 | |
47 * | |
48 * run time support | |
49 * | |
50 | |
51 * | |
52 _00001 PSHS D,X,Y multiply | |
53 | |
54 LDA ,S | |
55 LDB 3,S | |
56 MUL | |
57 STB 4,S | |
58 | |
59 LDD 1,S | |
60 MUL | |
61 STB 5,S | |
62 | |
63 LDA 1,S | |
64 LDB 3,S | |
65 MUL | |
66 ADDA 4,S | |
67 ADDA 5,S | |
68 | |
69 LEAS 6,S | |
70 RTS | |
71 * | |
72 _00002 CLR ,-S signed divide | |
73 | |
74 CMPX #0 | |
75 BPL _02000 | |
76 | |
77 COM ,S | |
78 | |
79 EXG D,X | |
80 LBSR _00020 | |
81 EXG D,X | |
82 | |
83 _02000 TSTA | |
84 BPL _02001 | |
85 | |
86 COM ,S | |
87 | |
88 LBSR _00020 | |
89 | |
90 _02001 LBSR _00010 | |
91 TFR X,D | |
92 TST ,S+ | |
93 BPL _02002 | |
94 | |
95 LBSR _00020 | |
96 | |
97 _02002 RTS | |
98 * | |
99 _00003 LBSR _00010 unsigned divide | |
100 TFR X,D | |
101 RTS | |
102 * | |
103 _00004 CLR ,-S signed modulous | |
104 | |
105 CMPX #0 | |
106 BPL _04000 | |
107 | |
108 EXG D,X | |
109 BSR _00020 | |
110 EXG D,X | |
111 | |
112 _04000 TSTA | |
113 BPL _04001 | |
114 | |
115 COM ,S | |
116 BSR _00020 | |
117 | |
118 _04001 BSR _00010 | |
119 | |
120 TST ,S+ | |
121 BPL _04002 | |
122 | |
123 BSR _00020 | |
124 | |
125 _04002 RTS | |
126 * | |
127 _00005 BSR _00010 unsigned modulous | |
128 | |
129 RTS | |
130 * | |
131 _00006 CMPX #0 signed left shift | |
132 BMI _06001 | |
133 | |
134 _06000 BEQ _06009 | |
135 LSLB | |
136 ROLA | |
137 LEAX -1,X | |
138 BRA _06000 | |
139 | |
140 _06001 BEQ _06009 | |
141 ASRA | |
142 RORB | |
143 LEAX 1,X | |
144 BRA _06001 | |
145 | |
146 _06009 RTS | |
147 * | |
148 _00007 CMPX #0 unsined left shift | |
149 BMI _07001 | |
150 | |
151 _07000 BEQ _07009 | |
152 LSLB | |
153 ROLA | |
154 LEAX -1,X | |
155 BRA _07000 | |
156 | |
157 _07001 BEQ _07009 | |
158 LSRA | |
159 RORB | |
160 LEAX 1,X | |
161 BRA _07001 | |
162 | |
163 _07009 RTS | |
164 * | |
165 _00008 CMPX #0 sined right shift | |
166 BMI _08001 | |
167 | |
168 _08000 BEQ _08009 | |
169 ASRA | |
170 RORB | |
171 LEAX -1,X | |
172 BRA _08000 | |
173 | |
174 _08001 BEQ _08009 | |
175 LSLB | |
176 ROLA | |
177 LEAX 1,X | |
178 BRA _08001 | |
179 | |
180 _08009 RTS | |
181 * | |
182 _00009 CMPX #0 unsined right shift | |
183 BMI _09001 | |
184 | |
185 _09000 BEQ _09009 | |
186 LSRA | |
187 RORB | |
188 LEAX -1,X | |
189 BRA _09000 | |
190 | |
191 _09001 BEQ _09009 | |
192 LSLB | |
193 ROLA | |
194 LEAX 1,X | |
195 BRA _09001 | |
196 | |
197 _09009 RTS | |
198 * | |
199 _00020 NEGA negate D reg | |
200 NEGB | |
201 SBCA #0 | |
202 RTS | |
203 * | |
204 _00010 PSHS D,X divide subroutine | |
205 | |
206 CLRA | |
207 CLRB | |
208 | |
209 LDX #17 | |
210 | |
211 _00011 SUBD 2,S | |
212 BCC _00012 | |
213 | |
214 ADDD 2,S | |
215 | |
216 _00012 ROL 1,S | |
217 ROL ,S | |
218 ROLB | |
219 ROLA | |
220 | |
221 LEAX -1,X | |
222 BNE _00011 | |
223 | |
224 RORA | |
225 RORB | |
226 | |
227 COM 1,S | |
228 COM ,S | |
229 PULS X | |
230 | |
231 LEAS 2,S | |
232 RTS | |
233 * | |
234 * | |
235 * | |
236 * | |
101 | 237 _eom |