Embedded development, #define A B

I see this thread is a duplicate of this one: Replacing Macros

As an alternative to using the eager-expansion of macros in the concat! macro's arguments; you could also use my new crate, preinterpret, which works by pre-processing the code.

But the register definition has to be set in the same block as its use, which may not fit your needs:

// If asm! takes a string
preinterpret::preinterpret!{
    [!set! #temp = "el2"]
    asm!(
        [!string! "msr x, " #temp]
    )
}
1 Like