Forum Discussion
Altera_Forum
Honored Contributor
19 years agoHow to write 32bits constant into r2
Hi all,
I'm using inline asm and hope to write a 32bits constant which is defined in *.c file into register r2. I have tried the following instruction, but compiler report error: asm("movhi r2, %hiadj(%0)" :: "i" (0x1000000)); asm("addi r2, r2, %lo(%0)" :: "i" (0x1000000)); ERROR: error: invalid `asm': operand number missing after %-letter Anybody help? David3 Replies
- Altera_Forum
Honored Contributor
you need an extra '%' :
<span style="color:red">--- asm("movhi r2, %hiadj(%0)" :: "i" (0x1000000));
--- asm("addi r2, r2, %lo(%0)" :: "i" (0x1000000));
+++ asm("movhi r2, %%hiadj(%0)" :: "i" (0x1000000));
+++ asm("addi r2, r2, %%lo(%0)" :: "i" (0x1000000));
</span> Regards, --Scott
- Altera_Forum
Honored Contributor
Thanks very much, Scott...
Can you guide me how to find the related information? Thanks again, David - Altera_Forum
Honored Contributor
Hi David,
> Can you guide me how to find the related information? See the gcc manual. Regards, --Scott