1*1424dfb3Schristos #objdump: -S
2*1424dfb3Schristos #as: -m68hc11 -gdwarf2
3*1424dfb3Schristos #name: Dwarf2 test on insns.s
4*1424dfb3Schristos #source: insns.s
5*1424dfb3Schristos 
6*1424dfb3Schristos # Test handling of basic instructions.
7*1424dfb3Schristos 
8*1424dfb3Schristos .*: +file format elf32\-m68hc11
9*1424dfb3Schristos 
10*1424dfb3Schristos Disassembly of section .text:
11*1424dfb3Schristos 
12*1424dfb3Schristos 00000000 <_start>:
13*1424dfb3Schristos #...
14*1424dfb3Schristos 	.globl _start
15*1424dfb3Schristos 	.sect .text
16*1424dfb3Schristos 
17*1424dfb3Schristos _start:
18*1424dfb3Schristos 	lds #stack\+1024
19*1424dfb3Schristos    0:	8e 04 00    	lds	#0x400 <stack_end>
20*1424dfb3Schristos 	ldx #1
21*1424dfb3Schristos    3:	ce 00 01    	ldx	#0x1 <_start\+0x1>
22*1424dfb3Schristos 
23*1424dfb3Schristos 0+06 <Loop>:
24*1424dfb3Schristos Loop:
25*1424dfb3Schristos 	jsr test
26*1424dfb3Schristos    6:	bd 00 00    	jsr	0x0 <_start>
27*1424dfb3Schristos 	dex
28*1424dfb3Schristos    9:	09          	dex
29*1424dfb3Schristos 	bne Loop
30*1424dfb3Schristos    a:	26 fa       	bne	0x6 <Loop>
31*1424dfb3Schristos 
32*1424dfb3Schristos 0000000c <Stop>:
33*1424dfb3Schristos    c:	cd 03       	.byte	0xcd, 0x03
34*1424dfb3Schristos Stop:
35*1424dfb3Schristos 
36*1424dfb3Schristos 	.byte 0xcd
37*1424dfb3Schristos 	.byte 3
38*1424dfb3Schristos 	bra _start
39*1424dfb3Schristos    e:	20 f0       	bra	0x0 <_start>
40*1424dfb3Schristos 
41*1424dfb3Schristos 00000010 <test>:
42*1424dfb3Schristos 
43*1424dfb3Schristos test:
44*1424dfb3Schristos 	ldd #2
45*1424dfb3Schristos   10:	cc 00 02    	ldd	#0x2 <_start\+0x2>
46*1424dfb3Schristos 	jsr test2
47*1424dfb3Schristos   13:	bd 00 00    	jsr	0x0 <_start>
48*1424dfb3Schristos 	rts
49*1424dfb3Schristos   16:	39          	rts
50*1424dfb3Schristos 
51*1424dfb3Schristos 00000017 <test2>:
52*1424dfb3Schristos 
53*1424dfb3Schristos D_low = 50
54*1424dfb3Schristos value = 23
55*1424dfb3Schristos 
56*1424dfb3Schristos 	.globl test2
57*1424dfb3Schristos test2:
58*1424dfb3Schristos 	ldx value,y
59*1424dfb3Schristos   17:	cd ee 17    	ldx	0x17,y
60*1424dfb3Schristos 	std value,x
61*1424dfb3Schristos   1a:	ed 17       	std	0x17,x
62*1424dfb3Schristos 	ldd ,x
63*1424dfb3Schristos   1c:	ec 00       	ldd	0x0,x
64*1424dfb3Schristos 	sty ,y
65*1424dfb3Schristos   1e:	18 ef 00    	sty	0x0,y
66*1424dfb3Schristos 	stx ,y
67*1424dfb3Schristos   21:	cd ef 00    	stx	0x0,y
68*1424dfb3Schristos 	brclr 6,x,#4,test2
69*1424dfb3Schristos   24:	1f 06 04 ef 	brclr	0x6,x, #0x04, 0x17 <test2>
70*1424dfb3Schristos 	brclr 12,x #8 test2
71*1424dfb3Schristos   28:	1f 0c 08 eb 	brclr	0xc,x, #0x08, 0x17 <test2>
72*1424dfb3Schristos 	ldd \*ZD1
73*1424dfb3Schristos   2c:	dc 00       	ldd	\*0x0 <_start>
74*1424dfb3Schristos 	ldx \*ZD1\+2
75*1424dfb3Schristos   2e:	de 02       	ldx	\*0x2 <_start\+0x2>
76*1424dfb3Schristos 	clr \*ZD2
77*1424dfb3Schristos   30:	7f 00 00    	clr	0x0 <_start>
78*1424dfb3Schristos 	clr \*ZD2\+1
79*1424dfb3Schristos   33:	7f 00 01    	clr	0x1 <_start\+0x1>
80*1424dfb3Schristos 	bne .-4
81*1424dfb3Schristos   36:	26 fc       	bne	0x34 <test2\+0x1d>
82*1424dfb3Schristos 	beq .\+2
83*1424dfb3Schristos   38:	27 02       	beq	0x3c <test2\+0x25>
84*1424dfb3Schristos 	bclr \*ZD1\+1, #32
85*1424dfb3Schristos   3a:	15 01 20    	bclr	\*0x1 <_start\+0x1>, #0x20
86*1424dfb3Schristos 	brclr \*ZD2\+2, #40, test2
87*1424dfb3Schristos   3d:	13 02 28 d6 	brclr	\*0x2 <_start\+0x2>, #0x28, 0x17 <test2>
88*1424dfb3Schristos 	ldy #24\+_start-44
89*1424dfb3Schristos   41:	18 ce ff ec 	ldy	#0xffec <stack_end\+0xfbec>
90*1424dfb3Schristos 	ldd B_low,y
91*1424dfb3Schristos   45:	18 ec 0c    	ldd	0xc,y
92*1424dfb3Schristos 	addd A_low,y
93*1424dfb3Schristos   48:	18 e3 2c    	addd	0x2c,y
94*1424dfb3Schristos 	addd D_low,y
95*1424dfb3Schristos   4b:	18 e3 32    	addd	0x32,y
96*1424dfb3Schristos 	subd A_low
97*1424dfb3Schristos   4e:	b3 00 2c    	subd	0x2c <test2\+0x15>
98*1424dfb3Schristos 	subd #A_low
99*1424dfb3Schristos   51:	83 00 2c    	subd	#0x2c <test2\+0x15>
100*1424dfb3Schristos 	jmp Stop
101*1424dfb3Schristos   54:	7e 00 00    	jmp	0x0 <_start>
102*1424dfb3Schristos 
103*1424dfb3Schristos 00000057 <L1>:
104*1424dfb3Schristos L1:
105*1424dfb3Schristos 	anda #%lo\(test2\)
106*1424dfb3Schristos   57:	84 17       	anda	#0x17
107*1424dfb3Schristos 	andb #%hi\(test2\)
108*1424dfb3Schristos   59:	c4 00       	andb	#0x0
109*1424dfb3Schristos 	ldab #%page\(test2\)	; Check that the relocs are against symbol
110*1424dfb3Schristos   5b:	c6 00       	ldab	#0x0
111*1424dfb3Schristos 	ldy  #%addr\(test2\)	; otherwise linker relaxation fails
112*1424dfb3Schristos   5d:	18 ce 00 00 	ldy	#0x0 <_start>
113*1424dfb3Schristos 	rts
114*1424dfb3Schristos   61:	39          	rts
115