1* local labels
2* two forms, $[0-9] and label? are allowed
3* Local labels are undefined/reset in one of four ways:
4* .newblock
5* changing sections
6* entering an include file
7* leaving an include file
8        .global addra, addrb, addrc
9label1:	ld	addra,a
10	sub	addrb,a
11	bc	$1, alt			; generates frag!
12	ld	addrb, a
13	b	$2
14$1:	ld	addra,a
15$2	add	addrc,a
16	.newblock
17	bc	$1,alt
18	stl	a, addrc
19$1	nop
20
21* #1, First definition of local label 'lab'
22	nop
23lab?	add	#1,a			; reports as line 17?
24	b	lab?
25* #2, Included file also defines local label 'lab'
26	.copy labels.inc
27* #3, Next definition; exit from .copy clears all locals
28lab?	add	#3,a			; reports as line 22?
29	b	lab?
30* #4, Next definition is within macro; supersedes previous definition while
31* within the macro
32mac	.macro
33lab?	add	#4,a			; line 31?
34	b	lab?
35	.endm
36* Macro invocation
37	mac
38* This reference should resolve to definition #3
39after_macro:
40	b	lab?
41* Section change clears all definitions; it's a CODE section if we see insns
42	.sect	new_section
43	nop
44lab?	add	#5,a
45	nop
46	nop
47	b	lab?
48* Newblock directive clears local labels
49	.newblock
50lab?	add	#6,a
51	nop
52	nop
53	b	lab?
54	.end
55
56