I want to load 1 32 bit hexadecimal directly into a register using arm assembly.
mov r1,#0x6c617669
This cannot be used because from this instruction we can only load 8 bit values. So I have load the 32 bit value directly from the memory. So how can I store the 32 bit value in memory and load it directly to a register using arm assembly?
I tried this code.
.global main
main:
sub sp,sp,#4
str lr,[sp,#0]
sub sp,sp,#4
str r0,x
add sp,sp,#4
ldr lr,[sp,#0]
add sp,sp,#4
mov pc,lr
.data
x: .word 0x6c617669
But gives the following error.
test1.s: Assembler messages:
test1.s:45: Error: internal_relocation (type: OFFSET_IMM) not fixed up