57ba3b854e
* gdb.disasm/t01_mov.s: New file, h8300sx disassembly tests. * gdb.disasm/t01_mov.exp: Ditto. * gdb.disasm/t02_mova.s: Ditto. * gdb.disasm/t02_mova.exp: Ditto. * gdb.disasm/t03_add.s: Ditto. * gdb.disasm/t03_add.exp: Ditto. * gdb.disasm/t04_sub.s: Ditto. * gdb.disasm/t04_sub.exp: Ditto. * gdb.disasm/t05_cmp.s: Ditto. * gdb.disasm/t05_cmp.exp: Ditto. * gdb.disasm/t06_ari2.s: Ditto. * gdb.disasm/t06_ari2.exp: Ditto. * gdb.disasm/t07_ari3.s: Ditto. * gdb.disasm/t07_ari3.exp: Ditto. * gdb.disasm/t08_or.s: Ditto. * gdb.disasm/t08_or.exp: Ditto. * gdb.disasm/t09_xor.s: Ditto. * gdb.disasm/t09_xor.exp: Ditto. * gdb.disasm/t10_and.s: Ditto. * gdb.disasm/t10_and.exp: Ditto. * gdb.disasm/t11_logs.s: Ditto. * gdb.disasm/t11_logs.exp: Ditto. * gdb.disasm/t12_bit.s: Ditto. * gdb.disasm/t12_bit.exp: Ditto. * gdb.disasm/t13_otr.s: Ditto. * gdb.disasm/t13_otr.exp: Ditto.
159 lines
5.8 KiB
ArmAsm
159 lines
5.8 KiB
ArmAsm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;others
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
.h8300sx
|
|
.text
|
|
.org 0x12
|
|
lab_12:
|
|
.org 0x1234
|
|
.global _start
|
|
_start:
|
|
bra 0x12+.+2 ;4012
|
|
brn 0x12+.+2 ;4112
|
|
bhi 0x12+.+2 ;4212
|
|
bls 0x12+.+2 ;4312
|
|
bcc 0x12+.+2 ;4412
|
|
bcs 0x12+.+2 ;4512
|
|
bne 0x12+.+2 ;4612
|
|
beq 0x12+.+2 ;4712
|
|
bvc 0x12+.+2 ;4812
|
|
bvs 0x12+.+2 ;4912
|
|
bpl 0x12+.+2 ;4a12
|
|
bmi 0x12+.+2 ;4b12
|
|
bge 0x12+.+2 ;4c12
|
|
blt 0x12+.+2 ;4d12
|
|
bgt 0x12+.+2 ;4e12
|
|
ble 0x12+.+2 ;4f12
|
|
|
|
bra 0x1234+.+4 ;58001234
|
|
brn 0x1234+.+4 ;58101234
|
|
bhi 0x1234+.+4 ;58201234
|
|
bls 0x1234+.+4 ;58301234
|
|
bcc 0x1234+.+4 ;58401234
|
|
bcs 0x1234+.+4 ;58501234
|
|
bne 0x1234+.+4 ;58601234
|
|
beq 0x1234+.+4 ;58701234
|
|
bvc 0x1234+.+4 ;58801234
|
|
bvs 0x1234+.+4 ;58901234
|
|
bpl 0x1234+.+4 ;58a01234
|
|
bmi 0x1234+.+4 ;58b01234
|
|
bge 0x1234+.+4 ;58c01234
|
|
blt 0x1234+.+4 ;58d01234
|
|
bgt 0x1234+.+4 ;58e01234
|
|
ble 0x1234+.+4 ;58f01234
|
|
|
|
bra/s 0x12+.+2 ;4013
|
|
nop ;0000
|
|
|
|
bra/bc #0x7,@er2,0x12+.+4 ;7c204712
|
|
bra/bc #0x7,@0xffffff9a:8,0x12+.+4 ;7e9a4712
|
|
bra/bc #0x7,@0x1234:16,0x12+.+6 ;6a1012344712
|
|
bra/bc #0x7,@0x12345678:32,0x12+.+8 ;6a30123456784712
|
|
bra/bc #0x7,@er2,0x1234+.+6 ;7c2058701234
|
|
bra/bc #0x7,@0xffffff12:8,0x1234+.+6 ;7e1258701234
|
|
bra/bc #0x7,@0xffff9abc:16,0x1234+.+8 ;6a109abc58701234
|
|
bra/bc #0x7,@0x12345678:32,0x1234+.+0xa ;6a301234567858701234
|
|
|
|
bra/bs #0x7,@er2,0x12+.+4 ;7c204f12
|
|
bra/bs #0x7,@0xffffff9a:8,0x12+.+4 ;7e9a4f12
|
|
bra/bs #0x7,@0x1234:16,0x12+.+6 ;6a1012344f12
|
|
bra/bs #0x7,@0x12345678:32,0x12+.+8 ;6a30123456784f12
|
|
bra/bs #0x7,@er2,0x1234+.+6 ;7c2058f01234
|
|
bra/bs #0x7,@0xffffff12:8,0x1234+.+6 ;7e1258f01234
|
|
bra/bs #0x7,@0xffff9abc:16,0x1234+.+8 ;6a109abc58f01234
|
|
bra/bs #0x7,@0x12345678:32,0x1234+.+0xa ;6a301234567858f01234
|
|
|
|
bsr/bc #0x7,@er2,0x1234+.+6 ;7c205c701234
|
|
bsr/bc #0x7,@0xffffff12:8,0x1234+.+6 ;7e125c701234
|
|
bsr/bc #0x7,@0xffff9abc:16,0x1234+.+8 ;6a109abc5c701234
|
|
bsr/bc #0x7,@0x12345678:32,0x1234+.+0xa ;6a30123456785c701234
|
|
|
|
bsr/bs #0x7,@er2,0x1234+.+6 ;7c205cf01234
|
|
bsr/bs #0x7,@0xffffff12:8,0x1234+.+6 ;7e125cf01234
|
|
bsr/bs #0x7,@0xffff9abc:16,0x1234+.+8 ;6a109abc5cf01234
|
|
bsr/bs #0x7,@0x12345678:32,0x1234+.+0xa ;6a30123456785cf01234
|
|
|
|
bra r2l.b ;5925
|
|
bra r2.w ;5926
|
|
bra er2.l ;5927
|
|
|
|
bsr 0x12+.+2 ;5512
|
|
bsr 0x1234+.+4 ;5c001234
|
|
bsr r2l.b ;5d25
|
|
bsr r2.w ;5d26
|
|
bsr er2.l ;5d27
|
|
|
|
jmp @er2 ;5920
|
|
jmp @0x123456:24 ;5a123456
|
|
jmp @0x12345678:32 ;590812345678
|
|
jmp @@0x12 ;5b12
|
|
jmp @@0x234 ;598d
|
|
|
|
jsr @er2 ;5d20
|
|
jsr @0x123456:24 ;5e123456
|
|
jsr @0x12345678:32 ;5d0812345678
|
|
jsr @@0x12 ;5f12
|
|
jsr @@0x234 ;5d8d
|
|
|
|
rts ;5470
|
|
rts/l er3 ;5403
|
|
rts/l er1-er2 ;5412
|
|
rts/l er2-er4 ;5424
|
|
rts/l er3-er6 ;5436
|
|
|
|
trapa #0x3 ;5730
|
|
|
|
rte ;5670
|
|
rte/l er3 ;5603
|
|
rte/l er1-er2 ;5612
|
|
rte/l er2-er4 ;5624
|
|
rte/l er3-er6 ;5636
|
|
|
|
ldc.b #0x12:8,ccr ;0712
|
|
ldc.b r3h,ccr ;0303
|
|
ldc.w @er3,ccr ;01406930
|
|
ldc.w @er3+,ccr ;01406d30
|
|
ldc.w @(0x1234:16,er3),ccr ;01406f301234
|
|
ldc.w @(0x12345678:32,er3),ccr ;014078306b2012345678
|
|
ldc.w @0x1234:16,ccr ;01406b001234
|
|
ldc.w @0x12345678:32,ccr ;01406b2012345678
|
|
|
|
ldc.b #0x12:8,exr ;01410712
|
|
ldc.b r3h,exr ;0313
|
|
ldc.w @er3,exr ;01416930
|
|
ldc.w @er3+,exr ;01416d30
|
|
ldc.w @(0x1234:16,er3),exr ;01416f301234
|
|
ldc.w @(0x12345678:32,er3),exr ;014178306b2012345678
|
|
ldc.w @0x1234:16,exr ;01416b001234
|
|
ldc.w @0x12345678:32,exr ;01416b2012345678
|
|
|
|
stc.b ccr,r1h ;0201
|
|
stc.w ccr,@er1 ;01406990
|
|
stc.w ccr,@-er1 ;01406d90
|
|
stc.w ccr,@(0x1234:16,er1) ;01406f901234
|
|
stc.w ccr,@(0x12345678:32,er1) ;014078106ba012345678
|
|
stc.w ccr,@0x1234:16 ;01406b801234
|
|
stc.w ccr,@0x12345678:32 ;01406ba012345678
|
|
|
|
stc.b exr,r1h ;0211
|
|
stc.w exr,@er1 ;01416990
|
|
stc.w exr,@-er1 ;01416d90
|
|
stc.w exr,@(0x1234:16,er1) ;01416f901234
|
|
stc.w exr,@(0x12345678:32,er1) ;014178106ba012345678
|
|
stc.w exr,@0x1234:16 ;01416b801234
|
|
stc.w exr,@0x12345678:32 ;01416ba012345678
|
|
|
|
orc.b #0x12:8,ccr ;0412
|
|
orc.b #0x12:8,exr ;01410412
|
|
|
|
xorc.b #0x12:8,ccr ;0512
|
|
xorc.b #0x12:8,exr ;01410512
|
|
|
|
andc.b #0x12:8,ccr ;0612
|
|
andc.b #0x12:8,exr ;01410612
|
|
|
|
sleep ;0180
|
|
|
|
nop ;0000
|
|
|
|
.end
|