blob: 6e9e7763734fbcc770ad8cb9311d3b582d966b6e [file] [log] [blame]
#objdump: -S
#as: -m68hc12 -gdwarf2
#name: 68HC12 indexed addressing mode with 5, 9 and 16-bit offsets (indexed12)
#source: indexed12.s
.*: +file format elf32\-m68hc12
Disassembly of section .text:
0+ <_main>:
;;
.sect .text
.globl _main
_main:
nop
0: a7 nop
;;; Global check \(1st\)
ldab L1\-_main,x ; Offset/const of these 2 insns must be
1: e6 e0 93 ldab 147,X
ldaa #L1\-_main ; identical \(likewise for 2nd global check\)
4: 86 93 ldaa #147
;;; Test gas relax with difference of symbols \(same section\)
ldaa L2\-L1,x ; \-> ldaa 2,x \(5\-bit offset\), text seg
6: a6 02 ldaa 2,X
adda L1\-L2,y ; \-> adda \-2,y \(5\-bit offset\), text seg
8: ab 5e adda \-2,Y
orab L7\-L6,sp ; \-> orab 8,sp \(5\-bit offset\), text seg
a: ea 88 orab 8,SP
anda L8\-L7,sp ; \-> anda 15,sp \(5\-bit offset\), text seg
c: a4 8f anda 15,SP
eora L7\-L8,sp ; \-> eora \-15,sp \(5\-bit offset\), text seg
e: a8 91 eora \-15,SP
eorb L7\-L9,sp ; \-> eorb \-16,sp \(5\-bit offset\), text seg
10: e8 90 eorb \-16,SP
andb L9\-L7,sp ; \-> andb 16,sp \(9\-bit offset\), text seg
12: e4 f0 10 andb 16,SP
staa L7\-L10,x ; \-> staa \-17,x \(9\-bit offset\), text seg
15: 6a e1 ef staa \-17,X
stab L11\-L10,y ; \-> stab 128,y \(9\-bit offset\), text seg
18: 6b e8 80 stab 128,Y
stab L10\-L11,y ; \-> stab \-128,y \(9\-bit offset\), text seg
1b: 6b e9 80 stab \-128,Y
stab L11\-L10\+1,y ; \-> stab 129,y \(9\-bit offset\), text seg
1e: 6b e8 81 stab 129,Y
stab L10\-L11\-1,y ; \-> stab \-129,y \(9\-bit offset\), text seg
21: 6b e9 7f stab \-129,Y
stab L11\-1\-L10,y ; \-> stab 127,y \(9\-bit offset\), text seg
24: 6b e8 7f stab 127,Y
stab L10\-1\-L11,y ; \-> stab \-129,y \(9\-bit offset\), text seg
27: 6b e9 7f stab \-129,Y
tst L12\-L10,x ; \-> tst 255,x \(9\-bit offset\), text seg
2a: e7 e0 ff tst 255,X
tst L10\-L12,x ; \-> tst \-255,x \(9\-bit offset\), text seg
2d: e7 e1 01 tst \-255,X
tst L12\-L10\+1,x ; \-> tst 256,x \(16\-bit offset\), text seg
30: e7 e2 01 00 tst 256,X
mina L13\-L10,x ; \-> mina 256,x \(16\-bit offset\)
34: 18 19 e2 01 mina 256,X
38: 00
mina L10\-L13,x ; \-> mina \-256,x \(9\-bit offset\)
39: 18 19 e1 00 mina \-256,X
maxa L14\-L10,x ; \-> maxa 257,x \(16\-bit offset\)
3d: 18 18 e2 01 maxa 257,X
41: 01
maxa L10\-L14,x ; \-> maxa \-257,x \(16\-bit offset\)
42: 18 18 e2 fe maxa \-257,X
46: ff
;;; Test gas relax with difference of symbols \(different section\)
ldaa D2\-D1,x ; \-> ldaa 2,x \(5\-bit offset\), data seg
47: a6 02 ldaa 2,X
adda D1\-D2,y ; \-> adda \-2,y \(5\-bit offset\), data seg
49: ab 5e adda \-2,Y
orab D7\-D6,sp ; \-> orab 8,sp \(5\-bit offset\), data seg
4b: ea 88 orab 8,SP
anda D8\-D7,sp ; \-> anda 15,sp \(5\-bit offset\), data seg
4d: a4 8f anda 15,SP
eora D7\-D8,sp ; \-> eora \-15,sp \(5\-bit offset\), data seg
4f: a8 91 eora \-15,SP
eorb D7\-D9,sp ; \-> eorb \-16,sp \(5\-bit offset\), data seg
51: e8 90 eorb \-16,SP
andb D9\-D7,sp ; \-> andb 16,sp \(9\-bit offset\), data seg
53: e4 f0 10 andb 16,SP
staa D7\-D10,x ; \-> staa \-17,x \(9\-bit offset\), data seg
56: 6a e1 ef staa \-17,X
stab D11\-D10,y ; \-> stab 128,y \(9\-bit offset\), data seg
59: 6b e8 80 stab 128,Y
stab D10\-D11,y ; \-> stab \-128,y \(9\-bit offset\), data seg
5c: 6b e9 80 stab \-128,Y
stab D11\-D10\+1,y ; \-> stab 129,y \(9\-bit offset\), data seg
5f: 6b e8 81 stab 129,Y
stab D10\-D11\+1,y ; \-> stab \-127,y \(9\-bit offset\), data seg
62: 6b e9 81 stab \-127,Y
stab D11\-1\-D10,y ; \-> stab 127,y \(9\-bit offset\), data seg
65: 6b e8 7f stab 127,Y
stab D10\-1\-D11,y ; \-> stab \-129,y \(9\-bit offset\), data seg
68: 6b e9 7f stab \-129,Y
tst D12\-D10,x ; \-> tst 255,x \(9\-bit offset\), data seg
6b: e7 e0 ff tst 255,X
tst D10\-D12,x ; \-> tst \-255,x \(9\-bit offset\), data seg
6e: e7 e1 01 tst \-255,X
tst D12\-D10\+1,x ; \-> tst 256,x \(16\-bit offset\), data seg
71: e7 e2 01 00 tst 256,X
mina D13\-D10,x ; \-> mina 256,x \(16\-bit offset\)
75: 18 19 e2 01 mina 256,X
79: 00
mina D10\-D13,x ; \-> mina \-256,x \(9\-bit offset\)
7a: 18 19 e1 00 mina \-256,X
maxa D14\-D10,x ; \-> maxa 257,x \(16\-bit offset\)
7e: 18 18 e2 01 maxa 257,X
82: 01
maxa D10\-D14,x ; \-> maxa \-257,x \(16\-bit offset\)
83: 18 18 e2 fe maxa \-257,X
87: ff
;;; Global check \(2nd\)
ldab L1\-_main,x
88: e6 e0 93 ldab 147,X
ldaa #L1\-_main
8b: 86 93 ldaa #147
;;; Indexed addressing with external symbol
ldab _external\+128,x
8d: e6 e2 00 80 ldab 128,X
bra L2
91: 20 02 bra 95 <L2>
0+93 <L1>:
93: aa bb oraa 5,SP\-
0+95 <L2>:
95: a7 nop
96: a7 nop
97: a7 nop
98: a7 nop
99: a7 nop
9a: a7 nop
9b: a7 nop
9c: a7 nop
0+9d <L7>:
9d: a7 nop
9e: a7 nop
9f: a7 nop
a0: a7 nop
a1: a7 nop
a2: a7 nop
a3: a7 nop
a4: a7 nop
a5: a7 nop
a6: a7 nop
a7: a7 nop
a8: a7 nop
a9: a7 nop
aa: a7 nop
ab: a7 nop
0+ac <L8>:
L1:
.dc.w 0xaabb
L2:
L6:
.ds.b 8, 0xa7
L7:
.ds.b 15, 0xa7
L8:
nop
ac: a7 nop
0+ad <L9>:
L9:
nop
ad: a7 nop
0+ae <L10>:
...
0+12e <L11>:
...
0+1ad <L12>:
L10:
.skip 128
L11:
.skip 127
L12:
nop
1ad: a7 nop
0+1ae <L13>:
L13:
nop
1ae: a7 nop
0+1af <L14>:
L14:
rts
1af: 3d rts