1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2;others
3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4	.h8300sx
5	.text
6	.org 0x12
7lab_12:
8	.org 0x1234
9	.global	_start
10_start:
11    bra 0x12+.+2                  ;4012
12    brn 0x12+.+2                  ;4112
13    bhi 0x12+.+2                  ;4212
14    bls 0x12+.+2                  ;4312
15    bcc 0x12+.+2                  ;4412
16    bcs 0x12+.+2                  ;4512
17    bne 0x12+.+2                  ;4612
18    beq 0x12+.+2                  ;4712
19    bvc 0x12+.+2                  ;4812
20    bvs 0x12+.+2                  ;4912
21    bpl 0x12+.+2                  ;4a12
22    bmi 0x12+.+2                  ;4b12
23    bge 0x12+.+2                  ;4c12
24    blt 0x12+.+2                  ;4d12
25    bgt 0x12+.+2                  ;4e12
26    ble 0x12+.+2                  ;4f12
27
28    bra 0x1234+.+4                ;58001234
29    brn 0x1234+.+4                ;58101234
30    bhi 0x1234+.+4                ;58201234
31    bls 0x1234+.+4                ;58301234
32    bcc 0x1234+.+4                ;58401234
33    bcs 0x1234+.+4                ;58501234
34    bne 0x1234+.+4                ;58601234
35    beq 0x1234+.+4                ;58701234
36    bvc 0x1234+.+4                ;58801234
37    bvs 0x1234+.+4                ;58901234
38    bpl 0x1234+.+4                ;58a01234
39    bmi 0x1234+.+4                ;58b01234
40    bge 0x1234+.+4                ;58c01234
41    blt 0x1234+.+4                ;58d01234
42    bgt 0x1234+.+4                ;58e01234
43    ble 0x1234+.+4                ;58f01234
44
45    bra/s 0x12+.+2                ;4013
46    nop                           ;0000
47
48    bra/bc #0x7,@er2,0x12+.+4            ;7c204712
49    bra/bc #0x7,@0xffffff9a:8,0x12+.+4   ;7e9a4712
50    bra/bc #0x7,@0x1234:16,0x12+.+6      ;6a1012344712
51    bra/bc #0x7,@0x12345678:32,0x12+.+8  ;6a30123456784712
52    bra/bc #0x7,@er2,0x1234+.+6              ;7c2058701234
53    bra/bc #0x7,@0xffffff12:8,0x1234+.+6     ;7e1258701234
54    bra/bc #0x7,@0xffff9abc:16,0x1234+.+8    ;6a109abc58701234
55    bra/bc #0x7,@0x12345678:32,0x1234+.+0xa  ;6a301234567858701234
56
57    bra/bs #0x7,@er2,0x12+.+4            ;7c204f12
58    bra/bs #0x7,@0xffffff9a:8,0x12+.+4   ;7e9a4f12
59    bra/bs #0x7,@0x1234:16,0x12+.+6      ;6a1012344f12
60    bra/bs #0x7,@0x12345678:32,0x12+.+8  ;6a30123456784f12
61    bra/bs #0x7,@er2,0x1234+.+6              ;7c2058f01234
62    bra/bs #0x7,@0xffffff12:8,0x1234+.+6     ;7e1258f01234
63    bra/bs #0x7,@0xffff9abc:16,0x1234+.+8    ;6a109abc58f01234
64    bra/bs #0x7,@0x12345678:32,0x1234+.+0xa  ;6a301234567858f01234
65
66    bsr/bc #0x7,@er2,0x1234+.+6             ;7c205c701234
67    bsr/bc #0x7,@0xffffff12:8,0x1234+.+6    ;7e125c701234
68    bsr/bc #0x7,@0xffff9abc:16,0x1234+.+8   ;6a109abc5c701234
69    bsr/bc #0x7,@0x12345678:32,0x1234+.+0xa ;6a30123456785c701234
70
71    bsr/bs #0x7,@er2,0x1234+.+6             ;7c205cf01234
72    bsr/bs #0x7,@0xffffff12:8,0x1234+.+6    ;7e125cf01234
73    bsr/bs #0x7,@0xffff9abc:16,0x1234+.+8   ;6a109abc5cf01234
74    bsr/bs #0x7,@0x12345678:32,0x1234+.+0xa ;6a30123456785cf01234
75
76    bra r2l.b          ;5925
77    bra r2.w           ;5926
78    bra er2.l          ;5927
79
80    bsr 0x12+.+2       ;5512
81    bsr 0x1234+.+4     ;5c001234
82    bsr r2l.b          ;5d25
83    bsr r2.w           ;5d26
84    bsr er2.l          ;5d27
85
86    jmp @er2             ;5920
87    jmp @0x123456:24     ;5a123456
88    jmp @0x12345678:32   ;590812345678
89    jmp @@0x12           ;5b12
90    jmp @@0x234          ;598d
91
92    jsr @er2             ;5d20
93    jsr @0x123456:24     ;5e123456
94    jsr @0x12345678:32   ;5d0812345678
95    jsr @@0x12           ;5f12
96    jsr @@0x234          ;5d8d
97
98    rts                      ;5470
99    rts/l  er3               ;5403
100    rts/l  er1-er2           ;5412
101    rts/l  er2-er4           ;5424
102    rts/l  er3-er6           ;5436
103
104    trapa #0x3               ;5730
105
106    rte                      ;5670
107    rte/l  er3               ;5603
108    rte/l  er1-er2           ;5612
109    rte/l  er2-er4           ;5624
110    rte/l  er3-er6           ;5636
111
112    ldc.b #0x12:8,ccr        ;0712
113    ldc.b r3h,ccr            ;0303
114    ldc.w @er3,ccr           ;01406930
115    ldc.w @er3+,ccr          ;01406d30
116    ldc.w @(0x1234:16,er3),ccr        ;01406f301234
117    ldc.w @(0x12345678:32,er3),ccr    ;014078306b2012345678
118    ldc.w @0x1234:16,ccr              ;01406b001234
119    ldc.w @0x12345678:32,ccr          ;01406b2012345678
120
121    ldc.b #0x12:8,exr        ;01410712
122    ldc.b r3h,exr            ;0313
123    ldc.w @er3,exr           ;01416930
124    ldc.w @er3+,exr          ;01416d30
125    ldc.w @(0x1234:16,er3),exr        ;01416f301234
126    ldc.w @(0x12345678:32,er3),exr    ;014178306b2012345678
127    ldc.w @0x1234:16,exr              ;01416b001234
128    ldc.w @0x12345678:32,exr          ;01416b2012345678
129
130    stc.b ccr,r1h            ;0201
131    stc.w ccr,@er1           ;01406990
132    stc.w ccr,@-er1          ;01406d90
133    stc.w ccr,@(0x1234:16,er1)       ;01406f901234
134    stc.w ccr,@(0x12345678:32,er1)   ;014078106ba012345678
135    stc.w ccr,@0x1234:16             ;01406b801234
136    stc.w ccr,@0x12345678:32         ;01406ba012345678
137
138    stc.b exr,r1h            ;0211
139    stc.w exr,@er1           ;01416990
140    stc.w exr,@-er1          ;01416d90
141    stc.w exr,@(0x1234:16,er1)       ;01416f901234
142    stc.w exr,@(0x12345678:32,er1)   ;014178106ba012345678
143    stc.w exr,@0x1234:16             ;01416b801234
144    stc.w exr,@0x12345678:32         ;01416ba012345678
145
146    orc.b #0x12:8,ccr          ;0412
147    orc.b #0x12:8,exr          ;01410412
148
149    xorc.b #0x12:8,ccr         ;0512
150    xorc.b #0x12:8,exr         ;01410512
151
152    andc.b #0x12:8,ccr         ;0612
153    andc.b #0x12:8,exr         ;01410612
154
155    sleep                      ;0180
156
157    nop                        ;0000
158
159	.end
160