summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/m68hc11/indexed12.d
blob: 360d87be9bd6a226ecc3d44b5b340160f1263550 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#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>:
;; with a 5, 9 and 16-bit offset.
;;
	.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>:
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