1;;; Test 68HC11 linker relaxation from extended addressing to direct
2;;; addressing modes
3;;;
4	.sect .text
5	.globl _start
6_start:
7start:
8	lds	stack
9	ldd	_bar
10	beq	F1
11	beq	F2
12	std	_bar
13	jsr	_bar
14F1:
15	addd	_toto
16	bne	start
17	;; All the following instructions will be relaxed and win 1 byte
18	;; for each.
19	addd	_toto+200
20	addd	stack+256-20
21	adca	_table+2
22	adcb	_table+3
23	adda	_table+4
24	addb	_table+5
25	addd	_table+6
26	anda	_table+7
27	andb	_table+8
28	cmpa	_table+9
29	cmpb	_table+10
30	cpd	_table+11
31	cpx	_table+12
32	cpy	_table+13
33	eora	_table+14
34	eorb	_table+15
35	jsr	_table+16
36	ldaa	_table+17
37	ldab	_table+18
38	ldd	_table+19
39	lds	_table+20
40	ldx	_table+21
41	ldy	_table+22
42	oraa	_table+23
43	orab	_table+24
44	sbcb	_table+25
45	sbca	_table+26
46	staa	_table+27
47	stab	_table+28
48	std	_table+29
49	sts	_table+30
50	stx	_table+31
51	sty	_table+32
52	suba	_table+33
53	subb	_table+34
54	subd	_table+35
55	;; 'bne' is assembled as far branch and must relax to
56	;; a relative 8-bit branch.
57	bne	_start
58	;; Likewise for next branch
59	bra	F1
60	rts
61
62;;; The following instructions will not be relaxed
63no_relax:
64	addd	_stack_top+60
65	std	_stack_top+40
66	;; 'tst' does not support direct addressing mode.
67	tst	_toto+1
68	bne	no_relax
69	.skip	200
70F2:
71	bra	_start
72
73	.sect	.page0
74_bar:
75	.long	0
76_toto:
77	.long	0
78	.skip	32
79stack:
80	.skip	10
81_table:
82	.skip	200
83_stack_top:
84
85