I have written one code in the assembly language for mixing C and assembly. The compiler is not properly generating the code for one instruction. I have written the following code,
LDR r0,[pc, #74]
here I want to load a word value from the PC+offset. Here I want the 16 bit LDR instruction should be used by the compiler. But compiler is taking LDR.W instruction, which is general instruction for +/- offset and which is 32 bit. But I want to instruct the compiler for the usage of the 16 bit instructions, how to do this? Also if I want to use the LDR.W instruction I will write the same, but why the compiler is generating a different instruction, although syntax of both instruction is different?
You need to read the documentation