;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;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
