Мне нужно сделать ассемблерную вставку в GCC код. В ассемблерный код передается 32 битная константа, которая загружается в регистр. Процессор - кортекс-м1. В самом ассемблере загрузка идет как то так:
Код
    LDR R0,[DAT]
DAT:
    .WORD 0x12345678

Но если я то же самое делаю во встроенном ассемблере:
Код
    asm(".word %0"
    ::"i"(k)
    );

И вызываю вставку - myasm(0x12345678), то вместо .word 0x12345678 компилятор подставляет константу с решеткой - .word #0x12345678, что является ошибкой. Решетка в этом месте совсем не нужна.
Как мне заставить ассемблер не писать эту решетку?
Или еще какой способ введения константы в регистр подскажите.