1# Test for correct generation of 68HC11 insns.
2
3	.globl _start
4	.sect .text
5
6_start:
7	lds #stack+1024
8	ldx #1
9Loop:
10	jsr test
11	dex
12	bne Loop
13Stop:
14
15	.byte 0xcd
16	.byte 3
17	bra _start
18
19test:
20	ldd #2
21	jsr test2
22	rts
23
24B_low = 12
25A_low = 44
26D_low = 50
27value = 23
28
29	.globl test2
30test2:
31	ldx value,y
32	std value,x
33	ldd ,x
34	sty ,y
35	stx ,y
36	brclr 6,x,#4,test2
37	brclr 12,x #8 test2
38	ldd *ZD1
39	ldx *ZD1+2
40	clr *ZD2
41	clr *ZD2+1
42	bne .-4
43	beq .+2
44	bclr *ZD1+1, #32
45	brclr *ZD2+2, #40, test2
46	ldy #24+_start-44
47	ldd B_low,y
48	addd A_low,y
49	addd D_low,y
50	subd A_low
51	subd #A_low
52	jmp Stop
53L1:
54	anda #%lo(test2)
55	andb #%hi(test2)
56	ldab #%page(test2)	; Check that the relocs are against symbol
57	ldy  #%addr(test2)	; otherwise linker relaxation fails
58	rts
59
60	.sect .data
61
62	.sect .bss
63stack:
64	.space	1024
65stack_end:
66