string concatenation in gas

Timothy Wall twall@domesolutions.com
Fri Apr 14 14:19:00 GMT 2000


You might be able to get by with a repeat loop calling the macro which does the
concatenation, e.g.

.MACRO PUSH    REGNO
    push    r\REGNO
.ENDM

.set START 0
.set END 5
.set COUNT, START
.rept
    PUSH COUNT
.set COUNT, COUNT + 1
.break COUNT == END
.endr

Geoff Berry wrote:

> .IRP doesn't evaluate strings either (at least I can't figure out how to
> make it).  For example, if I do:
>
> .IRP i, 0, 0+1, 0+1+1
>         push    r\i
> .ENDR
>
> This expands to:
>
> r0
> r0+1
> r0+1+1
>
> when I want
>
> r0
> r1
> r2
>
> I'm pretty much convinced that what I'm trying to do isn't possible with gas
> (not that I really expect it to be).
>
> -----Original Message-----
> From: Timothy Wall [ mailto:twall@domesolutions.com ]
> Sent: Thursday, April 13, 2000 4:54 PM
> To: binutils@sourceware.cygnus.com
> Cc: geoffb@bops.com
> Subject: Re: string concatenation in gas
>
> Geoff,
>
>   What you really want is string evaluation. Look at ".irp" and see if
> that does what you want.
>
> T.



More information about the Binutils mailing list