OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [tic54x/] [labels.s] - Rev 857

Go to most recent revision | Compare with Previous | Blame | View Log

* 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
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.