* local labels * two forms, $[0-9] and label? are allowed * Local labels are undefined/reset in one of four ways: * .newblock * changing sections * entering an include file * leaving an include file .global addra, addrb, addrc label1: ld addra,a sub addrb,a bc $1, alt ; generates frag! ld addrb, a b $2 $1: ld addra,a $2 add addrc,a .newblock bc $1,alt stl a, addrc $1 nop * #1, First definition of local label 'lab' nop lab? add #1,a ; reports as line 17? b lab? * #2, Included file also defines local label 'lab' .copy labels.inc * #3, Next definition; exit from .copy clears all locals lab? add #3,a ; reports as line 22? b lab? * #4, Next definition is within macro; supersedes previous definition while * within the macro mac .macro lab? add #4,a ; line 31? b lab? .endm * Macro invocation mac * This reference should resolve to definition #3 after_macro: b lab? * Section change clears all definitions; it's a CODE section if we see insns .sect new_section nop lab? add #5,a nop nop b lab? * Newblock directive clears local labels .newblock lab? add #6,a nop nop b lab? .end