Address of label which is defined within an asm statement?

Ian Lance Taylor iant@google.com
Wed Jun 28 06:08:00 GMT 2006


"Ioannis E. Venetis" <venetis@capsl.udel.edu> writes:

> I have the following code:
> 
> __asm__ __volatile__ (
> 				...
> 				"MyLabel:	..."
> 				...
> 				: <output regs>
> 				: <input regs>
> 				: <clobber list>);
> 
> Within the asm statement, I have to find somehow the address of label
> "MyLabel", in order to use it in one instruction. I looked through the
> archives but only found a solution if the label is defined outside the
> asm statement, where the '&&' operator and the "X" constraint can be
> used to pass that label into the asm statement. However, I can't
> figure out how to do it in my case. Any ideas?

If you have a label in assembly code, and you want to use it in
assembly code, then you need to write whatever is appropriate for your
assembly language (e.g., "mov #MyLabel,r0").  That is not really a
compiler issue.

If you have a label in assembly code, and you want to use it in C code
(e.g., by doing "goto MyLabel;"), then, sorry, you can't do that.

Ian



More information about the Gcc-help mailing list