1 .h8300s 2 .section .text 3 .align 2 4 .global _main 5 .global movb_tests 6 .global movw_tests 7 .global movl_tests 8 .global ldm_stm_tests 9 .global movfpe_movtpe_tests 10 .global add_sub_addx_subx_tests 11 .global inc_dec_adds_subs_tests 12 .global daa_das_tests 13 .global mul_div_tests 14 .global cmp_tests 15 .global neg_tests 16 .global ext_tests 17 .global tas_mac_tests 18 .global logic_operations_tests 19 .global sha_shl_tests 20 .global rot_rotx_tests 21 .global bset_bclr_tests 22 .global bnot_btst_tests 23 .global band_bor_bxor_tests 24 .global bld_bst_tests 25 .global branch_tests 26 .global system_control_tests 27 .global block_data_transfer_tests 28_main: 29 nop 30 31movb_tests: 32 mov.b r0l,r0h 33 mov.b #0x12,r1l 34 mov.b @er0,r1h 35 mov.b @(0x1234:16,er0),r2l 36 mov.b @(0x12345678:32,er0),r2h 37 mov.b @er0+,r3l 38 mov.b @0x12:8,r3h 39 mov.b @0x1234:16,r4l 40 mov.b @0x12345678:32,r4h 41 42movw_tests: 43 mov.w e0,r0 44 mov.w #0x1234,r1 45 mov.w @er0,r2 46 mov.w @(0x1234:16,er0),r3 47 mov.w @(0x12345678:32,er0),r4 48 mov.w @er0+,r5 49 mov.w @0x1234:16,r6 50 mov.w @0x12345678:32,r7 51 52movl_tests: 53 mov.l er0,er1 54 mov.l #0x12345678,er1 55 mov.l @er0,er2 56 mov.l @(0x1234:16,er0),er3 57 mov.l @(0x12345678:32,er0),er4 58 mov.l @er0+,er5 59 mov.l @0x1234:16,er6 60 mov.l @0x12345678:32,er7 61 62ldm_stm_tests: 63 ldm.l @sp+,er0-er1 64 ldm.l @sp+,er0-er2 65 ldm.l @sp+,er0-er3 66 stm.l er0-er1,@-sp 67 stm.l er0-er2,@-sp 68 stm.l er0-er3,@-sp 69 70movfpe_movtpe_tests: 71 movfpe @0x1234:16,r2l 72 movtpe r2l,@0x1234:16 73 74add_sub_addx_subx_tests: 75 add.b #0x12,r0l 76 add.b r1l,r1h 77 add.w #0x1234,r2 78 add.w r3,r4 79 add.l #0x12345678,er5 80 add.l er6,er7 81 sub.b r1l,r1h 82 sub.w #0x1234,r2 83 sub.w r3,r4 84 sub.l #0x12345678,er5 85 sub.l er6,er7 86 addx #0x12,r0l 87 addx r1l,r1h 88 subx #0x12,r0l 89 subx r1l,r1h 90 91inc_dec_adds_subs_tests: 92 inc.b r0l 93 inc.w #0x1,r4 94 inc.w #0x2,r3 95 inc.l #0x1,er2 96 inc.l #0x2,er1 97 dec.b r0l 98 dec.w #0x1,r4 99 dec.w #0x2,r3 100 dec.l #0x1,er2 101 dec.l #0x2,er1 102 adds #0x1,er7 103 adds #0x2,er6 104 adds #0x4,er5 105 subs #0x1,er7 106 subs #0x2,er6 107 subs #0x4,er5 108 109daa_das_tests: 110 daa r0l 111 das r0h 112 113mul_div_tests: 114 mulxs.b r0l,r1 115 mulxs.w r2,er3 116 mulxu.b r0l,e1 117 mulxu.w e2,er3 118 divxs.b r0l,r1 119 divxs.w r2,er3 120 divxu.b r0l,e1 121 divxu.w e2,er3 122 123cmp_tests: 124 cmp.b #0x12,r0l 125 cmp.b r1l,r1h 126 cmp.w #0x1234,r2 127 cmp.w r3,e3 128 cmp.l #0x12345678,er4 129 cmp.l er5,er6 130 131neg_tests: 132 neg.b r0l 133 neg.w r2 134 neg.l er3 135 136ext_tests: 137 exts.w r0 138 exts.l er1 139 extu.w r2 140 extu.l er3 141 142tas_mac_tests: 143 tas @er0 144 mac @er1+,@er2+ 145 clrmac 146 ldmac er4,mach 147 ldmac er5,macl 148 stmac mach,er6 149 stmac macl,er7 150 151logic_operations_tests: 152 and.b #0x12,r0l 153 and.b r1l,r2h 154 and.w #0x1234,r0 155 and.w r1,r2 156 and.l #0x12345678,er0 157 and.l er1,er2 158 or.b #0x12,r0l 159 or.b r1l,r2h 160 or.w #0x1234,r0 161 or.w r1,r2 162 or.l #0x12345678,er0 163 or.l er1,er2 164 xor.b #0x12,r0l 165 xor.b r1l,r2h 166 xor.w #0x1234,r0 167 xor.w r1,r2 168 xor.l #0x12345678,er0 169 xor.l er1,er2 170 not.b r0l 171 not.w r1 172 not.l er2 173 174sha_shl_tests: 175 shal r0l 176 shal r1 177 shal er2 178 shar r3l 179 shar r4 180 shar er5 181 shll r0l 182 shll r1 183 shll er2 184 shlr r3l 185 shlr r4 186 shlr er5 187 188rot_rotx_tests: 189 rotl r0l 190 rotl r1 191 rotl er2 192 rotr r3l 193 rotr r4 194 rotr er5 195 rotxl r0l 196 rotxl r1 197 rotxl er2 198 rotxr r3l 199 rotxr r4 200 rotxr er5 201 202bset_bclr_tests: 203 bset #0x7,r0l 204 bset #0x6,@er1 205 bset #0x5,@0x12:8 206 bset #0x4,@0x1234:16 207 bset #0x3,@0x12345678:32 208 bset r7l,r0h 209 bset r6l,@er1 210 bset r5l,@0x12:8 211 bset r4l,@0x1234:16 212 bset r3l,@0x12345678:32 213 bclr #0x7,r0l 214 bclr #0x6,@er1 215 bclr #0x5,@0x12:8 216 bclr #0x4,@0x1234:16 217 bclr #0x3,@0x12345678:32 218 bclr r7h,r0h 219 bclr r6h,@er1 220 bclr r5h,@0x12:8 221 bclr r4h,@0x1234:16 222 bclr r3h,@0x12345678:32 223 224bnot_btst_tests: 225 bnot #0x7,r0l 226 bnot #0x6,@er1 227 bnot #0x5,@0x12:8 228 bnot #0x4,@0x1234:16 229 bnot #0x3,@0x12345678:32 230 bnot r7l,r0h 231 bnot r6l,@er1 232 bnot r5l,@0x12:8 233 bnot r4l,@0x1234:16 234 bnot r3l,@0x12345678:32 235 btst #0x7,r0l 236 btst #0x6,@er1 237 btst #0x5,@0x12:8 238 btst #0x4,@0x1234:16 239 btst #0x3,@0x12345678:32 240 btst r7h,r0h 241 btst r6h,@er1 242 btst r5h,@0x12:8 243 btst r4h,@0x1234:16 244 btst r3h,@0x12345678:32 245 246band_bor_bxor_tests: 247 band #0x7,r0l 248 band #0x6,@er1 249 band #0x5,@0x12:8 250 band #0x4,@0x1234:16 251 band #0x3,@0x12345678:32 252 bor #0x7,r0l 253 bor #0x6,@er1 254 bor #0x5,@0x12:8 255 bor #0x4,@0x1234:16 256 bor #0x3,@0x12345678:32 257 bxor #0x7,r0l 258 bxor #0x6,@er1 259 bxor #0x5,@0x12:8 260 bxor #0x4,@0x1234:16 261 bxor #0x3,@0x12345678:32 262 263bld_bst_tests: 264 bld #0x7,r0l 265 bld #0x6,@er1 266 bld #0x5,@0x12:8 267 bld #0x4,@0x1234:16 268 bld #0x3,@0x12345678:32 269 bild #0x7,r0l 270 bild #0x6,@er1 271 bild #0x5,@0x12:8 272 bild #0x4,@0x1234:16 273 bild #0x3,@0x12345678:32 274 bst #0x7,r0l 275 bst #0x6,@er1 276 bst #0x5,@0x12:8 277 bst #0x4,@0x1234:16 278 bst #0x3,@0x12345678:32 279 bist #0x7,r0l 280 bist #0x6,@er1 281 bist #0x5,@0x12:8 282 bist #0x4,@0x1234:16 283 bist #0x3,@0x12345678:32 284 285branch_tests: 286 bra branch_tests 287 brn branch_tests 288 bhi branch_tests 289 bls branch_tests 290 bcc branch_tests 291 bcs branch_tests 292 bne branch_tests 293 beq branch_tests 294 bvc branch_tests 295 bvs branch_tests 296 bpl branch_tests 297 bmi branch_tests 298 bge branch_tests 299 blt branch_tests 300 bgt branch_tests 301 ble branch_tests 302 jmp @er0 303 jmp @branch_tests 304 jmp @@0 (0) 305 bsr branch_tests:8 306 bsr branch_tests:16 307 jsr @er0 308 jsr @branch_tests 309 jsr @@0 (0) 310 rts 311 312system_control_tests: 313 trapa #0x2 314 rte 315 sleep 316 ldc #0x12,ccr 317 ldc r3l,ccr 318 ldc @er0,ccr 319 ldc @(0x1234:16,er0),ccr 320 ldc @(0x12345678:32,er0),ccr 321 ldc @er1+,ccr 322 ldc @0x1234:16,ccr 323 ldc @0x12345678:32,ccr 324 stc ccr,r3l 325 stc ccr,@er0 326 stc ccr,@(0x1234:16,er0) 327 stc ccr,@(0x12345678:32,er0) 328 stc ccr,@-er1 329 stc ccr,@0x1234:16 330 stc ccr,@0x12345678:32 331 andc #0x12,ccr 332 orc #0x34,ccr 333 xorc #0x56,ccr 334 ldc #0x12,exr 335 ldc r3l,exr 336 ldc @er0,exr 337 ldc @(0x1234:16,er0),exr 338 ldc @(0x12345678:32,er0),exr 339 ldc @er1+,exr 340 ldc @0x1234:16,exr 341 ldc @0x12345678:32,exr 342 stc exr,r3l 343 stc exr,@er0 344 stc exr,@(0x1234:16,er0) 345 stc exr,@(0x12345678:32,er0) 346 stc exr,@-er1 347 stc exr,@0x1234:16 348 stc exr,@0x12345678:32 349 andc #0x12,exr 350 orc #0x34,exr 351 xorc #0x56,exr 352 nop 353 354block_data_transfer_tests: 355 eepmov.b 356 eepmov.w 357