1;;; Test 68HC11 linker relaxation and fixup of bcc/bra branches
2;;;
3	.sect .text
4	.globl _start
5_start:
6	;; Next 'bra' is assembled as a 'jmp'.  It is relaxed to 'bra L3'
7	;; during a second pass of relax.
8	bra	L3
9	.skip	20
10	;; Next 'jmp' must be relaxed to a 'bra' during the first pass.
11	;; The branch offset must then be adjusted by consecutive relax.
12	jmp	L3
13L1:
14	addd	0,x
15	bne	L1		; Branch not adjusted
16	addd	_toto
17	beq	L1		; Backward branch, adjust -1
18	addd	_toto+1
19	jbne	L1		; Backward branch, adjust -2
20	bgt	L1		; All possible backward branchs, adjust -2
21	bge	L1
22	beq	L1
23	ble	L1
24	blt	L1
25	bhi	L1
26	bhs	L1
27	beq	L1
28	bls	L1
29	blo	L1
30	bcs	L1
31	bmi	L1
32	bvs	L1
33	bcc	L1
34	bpl	L1
35	bvc	L1
36	bne	L1
37	brn	L1
38	bra	L1
39	;; Relax several insn to reduce block by 15
40	addd	_toto
41	addd	_toto
42	addd	_toto
43	addd	_toto
44	addd	_toto
45	addd	_toto
46	addd	_toto
47	addd	_toto
48	addd	_toto
49	addd	_toto
50	addd	_toto
51	addd	_toto
52	addd	_toto
53	addd	_toto
54	addd	_toto
55L2:
56	jmp	_start		; -> relax to bra _start
57	bne	L2		; Backward branch, adjust -1
58	beq	L3		; Forward branch, adjust -2
59	addd	_toto
60	beq	L3		; Forward branch, adjust -1
61	addd	_toto
62L3:
63	addd	_toto
64	rts
65
66	.sect	.page0
67_bar:
68	.long	0
69_toto:
70	.long	0
71	.skip	32
72stack:
73	.skip	10
74_table:
75