-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestCode.L68
More file actions
384 lines (380 loc) · 25.5 KB
/
TestCode.L68
File metadata and controls
384 lines (380 loc) · 25.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
00007000 Starting Address
Assembler used: EASy68K Editor/Assembler v5.15.04
Created On: 6/4/2016 3:24:42 AM
00000000 1 *-----------------------------------------------------------
00000000 2 * Title : Testing Code
00000000 3 * Written by : Brandon Authier (Hblkr), Jack S. Eldridge
00000000 4 * (JackScottie), Marijn Burger (marijnburger)
00000000 5 * Date : 2 May 2016
00000000 6 * Description: Testing code for the inverse assembler, testing
00000000 7 * various combinations of op codes and effective
00000000 8 * addressing modes.
00000000 9 *
00000000 10 * VERSION: 0.2 - Initial List
00000000 11 *
00000000 12 * Addressing Modes
00000000 13 *
00000000 14 * Data Register Direct
00000000 15 * Address Register Direct
00000000 16 * Address Register Indirect
00000000 17 * Immediate Data
00000000 18 * Address Register Indirect with Post Increment
00000000 19 * Address Register Indirect with Pre Decrement
00000000 20 * Absolute Long Address
00000000 21 * Absolute Word Address
00000000 22 *
00000000 23 * Instructions
00000000 24 *
00000000 25 * NOP
00000000 26 * MOVE
00000000 27 * MOVEA
00000000 28 * MOVEQ
00000000 29 * MOVEM
00000000 30 * ADD
00000000 31 * ADDA
00000000 32 * ADDI
00000000 33 * ADDQ
00000000 34 * SUB
00000000 35 * MULS
00000000 36 * DIVU
00000000 37 * LEA
00000000 38 * CLR
00000000 39 * AND
00000000 40 * OR
00000000 41 * LSL
00000000 42 * LSR
00000000 43 * ASR
00000000 44 * ASL
00000000 45 * ROL
00000000 46 * ROR
00000000 47 * CMP
00000000 48 * Bcc (BCC, BGT, BLE)
00000000 49 * JSR
00000000 50 * RTS
00000000 51 *
00000000 52 *-----------------------------------------------------------
00007000 53 ORG $7000
00007000 54
00007000 55
00007000 56
00007000 57 START: ; first instruction of program
00007000 58
00007000 1204 59 MOVE.B D4, D1
00007002 4E71 60 NOP
00007004 2A44 61 MOVEA.L D4, A5
00007006 2A04 62 MOVE.L D4, D5
00007008 3A04 63 MOVE.W D4, D5
0000700A 3A44 64 MOVEA.W D4, A5
0000700C 5407 65 ADDI.B #2, D7
0000700E 5647 66 ADDI.W #3, D7
00007010 5A87 67 ADDI.L #5, D7
00007012 4BD2 68 LEA (A2), A5
00007014 4E75 69 RTS
00007016 4287 70 CLR.L D7
00007018 4207 71 CLR.B D7
0000701A 4247 72 CLR.W D7
0000701C 7E64 73 MOVEQ.L #100, D7
0000701E 4E96 74 JSR (A6)
00007020 5E03 75 ADDQ.B #%111, D3
00007022 5E43 76 ADDQ.W #%111, D3
00007024 5E83 77 ADDQ.L #%111, D3
00007026 B803 78 CMP.B D3, D4
00007028 B843 79 CMP.W D3, D4
0000702A B883 80 CMP.L D3, D4
0000702C 9803 81 SUB.B D3, D4
0000702E 9604 82 SUB.B D4, D3
00007030 9843 83 SUB.W D3, D4
00007032 9644 84 SUB.W D4, D3
00007034 9883 85 SUB.L D3, D4
00007036 9684 86 SUB.L D4, D3
00007038 D803 87 ADD.B D3, D4
0000703A D604 88 ADD.B D4, D3
0000703C D843 89 ADD.W D3, D4
0000703E D644 90 ADD.W D4, D3
00007040 D883 91 ADD.L D3, D4
00007042 D684 92 ADD.L D4, D3
00007044 D8C3 93 ADDA.W D3, A4
00007046 D9C3 94 ADDA.L D3, A4
00007048 C803 95 AND.B D3, D4
0000704A C604 96 AND.B D4, D3
0000704C C843 97 AND.W D3, D4
0000704E C644 98 AND.W D4, D3
00007050 C883 99 AND.L D3, D4
00007052 C684 100 AND.L D4, D3
00007054 C9C3 101 MULS.W D3, D4
00007056 48E7 FFDC 102 MOVEM.L A0-A1/A3-A5/D0-D7, -(A7)
0000705A 4CDF 3BFF 103 MOVEM.L (A7)+, A0-A1/A3-A5/D0-D7
0000705E E33A 104 ROL.B D1,D2
00007060 E37A 105 ROL.W D1,D2
00007062 E3BA 106 ROL.L D1,D2
00007064 E23A 107 ROR.B D1,D2
00007066 E27A 108 ROR.W D1,D2
00007068 E2BA 109 ROR.L D1,D2
0000706A E32A 110 LSL.B D1,D2
0000706C E36A 111 LSL.W D1,D2
0000706E E3AA 112 LSL.L D1,D2
00007070 E22A 113 LSR.B D1,D2
00007072 E26A 114 LSR.W D1,D2
00007074 E2AA 115 LSR.L D1,D2
00007076 E322 116 ASL.B D1,D2
00007078 E362 117 ASL.W D1,D2
0000707A E3A2 118 ASL.L D1,D2
0000707C E222 119 ASR.B D1,D2
0000707E E262 120 ASR.W D1,D2
00007080 E2A2 121 ASR.L D1,D2
00007082 88C3 122 DIVU.W D3,D4
00007084 883C 0014 123 OR.B #20,D4
00007088 8738 7080 124 OR.B D3,$7080
0000708C 887C 0014 125 OR.W #20,D4
00007090 8778 7080 126 OR.W D3,$7080
00007094 88BC 00000014 127 OR.L #20,D4
0000709A 87B9 8FFF7080 128 OR.L D3,$8FFF7080
000070A0 64DE 129 BCC $7080
000070A2 6EDC 130 BGT $7080
000070A4 64DA 131 BCC $7080
000070A6 132 ;SIMHALT ; halt simulator
000070A6 133 ;* Put variables and constants here
000070A6 134 ;END START ; last line of source
000070A6 135
000070A6 136 *-----------------------------------------------------------
000070A6 137 *--- Testing with all ea combinations started below --------
000070A6 138 *-----------------------------------------------------------
000070A6 139
000070A6 140 *Addressing Modes
000070A6 141 *
000070A6 142 * Data Register Direct
000070A6 143 * Address Register Direct
000070A6 144 * Address Register Indirect
000070A6 145 * Address Register Indirect with Post Increment
000070A6 146 * Address Register Indirect with Pre Decremet
000070A6 147 * Immediate Data
000070A6 148 * Absolute Long Address
000070A6 149 * Absolute Word Address
000070A6 150
000070A6 151 *-------Instructions----------------------------------------
000070A6 152 *--NOP------------------------------------------------------
000070A6 4E71 153 NOP NOP
000070A8 154 *--MOVE-----------------------------------------------------
000070A8 1200 155 MOVE.B D0, D1
000070AA 1080 156 MOVE.B D0, (A0)
000070AC 10C0 157 MOVE.B D0, (A0)+
000070AE 1100 158 MOVE.B D0, -(A0)
000070B0 11C0 2000 159 MOVE.B D0, $2000
000070B4 13C0 FFFC2000 160 MOVE.B D0, $FFFC2000
000070BA 161 *MOVE.B A0, D1 ; not allowed
000070BA 162 *MOVE.B A0, (A0)
000070BA 163 *MOVE.B A0, (A0)+
000070BA 164 *MOVE.B A0, -(A0)
000070BA 165 *MOVE.B A0, $2000
000070BA 166 *MOVE.B A0, $FFFC2000
000070BA 1210 167 MOVE.B (A0), D1
000070BC 1090 168 MOVE.B (A0), (A0)
000070BE 10D0 169 MOVE.B (A0), (A0)+
000070C0 1110 170 MOVE.B (A0), -(A0)
000070C2 11D0 2000 171 MOVE.B (A0), $2000
000070C6 13D0 FFFC2000 172 MOVE.B (A0), $FFFC2000
000070CC 1218 173 MOVE.B (A0)+, D1
000070CE 1098 174 MOVE.B (A0)+, (A0)
000070D0 10D8 175 MOVE.B (A0)+, (A0)+
000070D2 1118 176 MOVE.B (A0)+, -(A0)
000070D4 11D8 2000 177 MOVE.B (A0)+, $2000
000070D8 13D8 FFFC2000 178 MOVE.B (A0)+, $FFFC2000
000070DE 1220 179 MOVE.B -(A0), D1
000070E0 10A0 180 MOVE.B -(A0), (A0)
000070E2 10E0 181 MOVE.B -(A0), (A0)+
000070E4 1120 182 MOVE.B -(A0), -(A0)
000070E6 11E0 2000 183 MOVE.B -(A0), $2000
000070EA 13E0 FFFC2000 184 MOVE.B -(A0), $FFFC2000
000070F0 123C 00AB 185 MOVE.B #$AB, D1
000070F4 10BC 00AB 186 MOVE.B #$AB, (A0)
000070F8 10FC 00AB 187 MOVE.B #$AB, (A0)+
000070FC 113C 00AB 188 MOVE.B #$AB, -(A0)
00007100 11FC 00AB 2000 189 MOVE.B #$AB, $2000
00007106 13FC 00AB FFFC2000 190 MOVE.B #$AB, $FFFC2000
0000710E 1238 2000 191 MOVE.B $2000, D1
00007112 10B8 2000 192 MOVE.B $2000, (A0)
00007116 10F8 2000 193 MOVE.B $2000, (A0)+
0000711A 1138 2000 194 MOVE.B $2000, -(A0)
0000711E 11F8 2000 2000 195 MOVE.B $2000, $2000
00007124 13F8 2000 FFFC2000 196 MOVE.B $2000, $FFFC2000
0000712C 1239 FFFC2000 197 MOVE.B $FFFC2000, D1
00007132 10B9 FFFC2000 198 MOVE.B $FFFC2000, (A0)
00007138 10F9 FFFC2000 199 MOVE.B $FFFC2000, (A0)+
0000713E 1139 FFFC2000 200 MOVE.B $FFFC2000, -(A0)
00007144 11F9 FFFC2000 2000 201 MOVE.B $FFFC2000, $2000
0000714C 13F9 FFFC2000 FFFC2000 202 MOVE.B $FFFC2000, $FFFC2000
00007156 3200 203 MOVEW MOVE.W D0, D1
00007158 3080 204 MOVE.W D0, (A0)
0000715A 30C0 205 MOVE.W D0, (A0)+
0000715C 3100 206 MOVE.W D0, -(A0)
0000715E 31C0 2000 207 MOVE.W D0, $2000
00007162 33C0 FFFC2000 208 MOVE.W D0, $FFFC2000
00007168 3208 209 MOVE.W A0, D1
0000716A 3088 210 MOVE.W A0, (A0)
0000716C 30C8 211 MOVE.W A0, (A0)+
0000716E 3108 212 MOVE.W A0, -(A0)
00007170 31C8 2000 213 MOVE.W A0, $2000
00007174 33C8 FFFC2000 214 MOVE.W A0, $FFFC2000
0000717A 3210 215 MOVE.W (A0), D1
0000717C 3090 216 MOVE.W (A0), (A0)
0000717E 30D0 217 MOVE.W (A0), (A0)+
00007180 3110 218 MOVE.W (A0), -(A0)
00007182 31D0 2000 219 MOVE.W (A0), $2000
00007186 33D0 FFFC2000 220 MOVE.W (A0), $FFFC2000
0000718C 3218 221 MOVE.W (A0)+, D1
0000718E 3098 222 MOVE.W (A0)+, (A0)
00007190 30D8 223 MOVE.W (A0)+, (A0)+
00007192 3118 224 MOVE.W (A0)+, -(A0)
00007194 31D8 2000 225 MOVE.W (A0)+, $2000
00007198 33D8 FFFC2000 226 MOVE.W (A0)+, $FFFC2000
0000719E 3220 227 MOVE.W -(A0), D1
000071A0 30A0 228 MOVE.W -(A0), (A0)
000071A2 30E0 229 MOVE.W -(A0), (A0)+
000071A4 3120 230 MOVE.W -(A0), -(A0)
000071A6 31E0 2000 231 MOVE.W -(A0), $2000
000071AA 33E0 FFFC2000 232 MOVE.W -(A0), $FFFC2000
000071B0 323C ABCD 233 MOVE.W #$ABCD, D1
000071B4 30BC ABCD 234 MOVE.W #$ABCD, (A0)
000071B8 30FC ABCD 235 MOVE.W #$ABCD, (A0)+
000071BC 313C ABCD 236 MOVE.W #$ABCD, -(A0)
000071C0 31FC ABCD 2000 237 MOVE.W #$ABCD, $2000
000071C6 33FC ABCD FFFC2000 238 MOVE.W #$ABCD, $FFFC2000
000071CE 3238 2000 239 MOVE.W $2000, D1
000071D2 30B8 2000 240 MOVE.W $2000, (A0)
000071D6 30F8 2000 241 MOVE.W $2000, (A0)+
000071DA 3138 2000 242 MOVE.W $2000, -(A0)
000071DE 31F8 2000 2000 243 MOVE.W $2000, $2000
000071E4 33F8 2000 FFFC2000 244 MOVE.W $2000, $FFFC2000
000071EC 3239 FFFC2000 245 MOVE.W $FFFC2000, D1
000071F2 30B9 FFFC2000 246 MOVE.W $FFFC2000, (A0)
000071F8 30F9 FFFC2000 247 MOVE.W $FFFC2000, (A0)+
000071FE 3139 FFFC2000 248 MOVE.W $FFFC2000, -(A0)
00007204 31F9 FFFC2000 2000 249 MOVE.W $FFFC2000, $2000
0000720C 33F9 FFFC2000 FFFC2000 250 MOVE.W $FFFC2000, $FFFC2000
00007216 2200 251 MOVEL MOVE.L D0, D1
00007218 2080 252 MOVE.L D0, (A0)
0000721A 20C0 253 MOVE.L D0, (A0)+
0000721C 2100 254 MOVE.L D0, -(A0)
0000721E 21C0 2000 255 MOVE.L D0, $2000
00007222 23C0 FFFC2000 256 MOVE.L D0, $FFFC2000
00007228 2208 257 MOVE.L A0, D1
0000722A 2088 258 MOVE.L A0, (A0)
0000722C 20C8 259 MOVE.L A0, (A0)+
0000722E 2108 260 MOVE.L A0, -(A0)
00007230 21C8 2000 261 MOVE.L A0, $2000
00007234 23C8 FFFC2000 262 MOVE.L A0, $FFFC2000
0000723A 2210 263 MOVE.L (A0), D1
0000723C 2090 264 MOVE.L (A0), (A0)
0000723E 20D0 265 MOVE.L (A0), (A0)+
00007240 2110 266 MOVE.L (A0), -(A0)
00007242 21D0 2000 267 MOVE.L (A0), $2000
00007246 23D0 FFFC2000 268 MOVE.L (A0), $FFFC2000
0000724C 2218 269 MOVE.L (A0)+, D1
0000724E 2098 270 MOVE.L (A0)+, (A0)
00007250 20D8 271 MOVE.L (A0)+, (A0)+
00007252 2118 272 MOVE.L (A0)+, -(A0)
00007254 21D8 2000 273 MOVE.L (A0)+, $2000
00007258 23D8 FFFC2000 274 MOVE.L (A0)+, $FFFC2000
0000725E 2220 275 MOVE.L -(A0), D1
00007260 20A0 276 MOVE.L -(A0), (A0)
00007262 20E0 277 MOVE.L -(A0), (A0)+
00007264 2120 278 MOVE.L -(A0), -(A0)
00007266 21E0 2000 279 MOVE.L -(A0), $2000
0000726A 23E0 FFFC2000 280 MOVE.L -(A0), $FFFC2000
00007270 223C ABCD1234 281 MOVE.L #$ABCD1234, D1
00007276 20BC ABCD1234 282 MOVE.L #$ABCD1234, (A0)
0000727C 20FC ABCD1234 283 MOVE.L #$ABCD1234, (A0)+
00007282 213C ABCD1234 284 MOVE.L #$ABCD1234, -(A0)
00007288 21FC ABCD1234 2000 285 MOVE.L #$ABCD1234, $2000
00007290 23FC ABCD1234 FFFC2000 286 MOVE.L #$ABCD1234, $FFFC2000
0000729A 2238 2000 287 MOVE.L $2000, D1
0000729E 20B8 2000 288 MOVE.L $2000, (A0)
000072A2 20F8 2000 289 MOVE.L $2000, (A0)+
000072A6 2138 2000 290 MOVE.L $2000, -(A0)
000072AA 21F8 2000 2000 291 MOVE.L $2000, $2000
000072B0 23F8 2000 FFFC2000 292 MOVE.L $2000, $FFFC2000
000072B8 2239 FFFC2000 293 MOVE.L $FFFC2000, D1
000072BE 20B9 FFFC2000 294 MOVE.L $FFFC2000, (A0)
000072C4 20F9 FFFC2000 295 MOVE.L $FFFC2000, (A0)+
000072CA 2139 FFFC2000 296 MOVE.L $FFFC2000, -(A0)
000072D0 21F9 FFFC2000 2000 297 MOVE.L $FFFC2000, $2000
000072D8 23F9 FFFC2000 FFFC2000 298 MOVE.L $FFFC2000, $FFFC2000
000072E2 299 *--MOVEA----------------------------------------------------
000072E2 3040 300 MOVEAW MOVEA.W D0, A0
000072E4 3049 301 MOVEA.W A1, A0
000072E6 3051 302 MOVEA.W (A1), A0
000072E8 3059 303 MOVEA.W (A1)+, A0
000072EA 3061 304 MOVEA.W -(A1), A0
000072EC 307C ABCD 305 MOVEA.W #$ABCD, A0
000072F0 3078 2000 306 MOVEA.W $2000, A0
000072F4 3079 FFFC2000 307 MOVEA.W $FFFC2000, A0
000072FA 2040 308 MOVEAL MOVEA.L D0, A0
000072FC 2049 309 MOVEA.L A1, A0
000072FE 2051 310 MOVEA.L (A1), A0
00007300 2059 311 MOVEA.L (A1)+, A0
00007302 2061 312 MOVEA.L -(A1), A0
00007304 207C ABCD1234 313 MOVEA.L #$ABCD1234, A0
0000730A 2078 2000 314 MOVEA.L $2000, A0
0000730E 2079 FFFC2000 315 MOVEA.L $FFFC2000, A0
00007314 316 *--MOVEQ----------------------------------------------------
00007314 7003 317 MOVEQ MOVEQ #3, D0
00007316 318 ;*--MOVEM----------------------------------------------------
00007316 319 ;TESTSTACK EQU $7000 ; printed out as errors in output
00007316 320 ; LEA TESTSTACK, SP ; SP is stored in A7
00007316 321 ;MOVEMW MOVEM.W A0-A6/D0-D7, (SP)
00007316 322 ; MOVEM.W A0-A6/D0-D7, -(SP)
00007316 323 ; MOVEM.W A1-A5/D3 ; test different registers...add more here?
00007316 324 ; MOVEM.W A0-A6/D0-D7, $2000
00007316 325 ; MOVEM.W A0-A6/D0-D7, $FFFC2000
00007316 326 ; MOVEM.W (SP) , A0-A6/D0-D7
00007316 327 ; MOVEM.W (SP)+, A0-A6/D0-D7
00007316 328 ; MOVEM.W $2000, A0-A6/D0-D7
00007316 329 ; MOVEM.W $FFFC2000, A0-A6/D0-D7
00007316 330 ;MOVEML MOVEM.L A0-A6/D0-D7, (SP)
00007316 331 ; MOVEM.L A0-A6/D0-D7, -(SP)
00007316 332 ; MOVEM.L A1-A5/D3 ; test different registers...add more here?
00007316 333 ; MOVEM.L A0-A6/D0-D7, $2000
00007316 334 ; MOVEM.L A0-A6/D0-D7, $FFFC2000
00007316 335 ; MOVEM.L (SP) , A0-A6/D0-D7
00007316 336 ; MOVEM.L (SP)+, A0-A6/D0-D7
00007316 337 ; MOVEM.L $2000, A0-A6/D0-D7
00007316 338 ; MOVEM.L $FFFC2000, A0-A6/D0-D7
00007316 339 ;*--ADD------------------------------------------------------
00007316 340 ;* ADDA
00007316 341 ;* ADDI
00007316 342 ;* ADDQ
00007316 343 ;* SUB
00007316 344 ;* MULS
00007316 345 ;* DIVU
00007316 346 ;* LEA
00007316 347 ;* CLR
00007316 348 ;* AND
00007316 349 ;* OR
00007316 350 ;* LSL
00007316 351 ;* LSR
00007316 352 ;* ASR
00007316 353 ;* ASL
00007316 354 ;* ROL
00007316 355 ;* ROR
00007316 356 ;* CMP
00007316 357 ;* Bcc (BCC, BGT, BLE)
00007316 358 ;* JSR
00007316 359 ;* RTS
00007316 360 ;
00007316 FFFF FFFF 361 SIMHALT ; halt simulator
0000731A 362
0000731A 363 * Put variables and constants here
0000731A 364
0000731A 365 END START ; last line of source
No errors detected
No warnings generated
SYMBOL TABLE INFORMATION
Symbol-name Value
-------------------------
MOVEAL 72FA
MOVEAW 72E2
MOVEL 7216
MOVEQ 7314
MOVEW 7156
NOP 70A6
START 7000