I am not able to use inline assembly in my C source file. I tried to Enable Generate Assembler SRC file and Enable Assemble SRC file. Then i used #pragma ASM in the beginning of the assembly code and #pragma ENDASM at the end of the assembly code, but it is not able to recognize even the LDR command. The commands are not recognisable even when i am using __asm() block to write the code. Please advise.
No need to muck about with command line directives.
This sort of thing works for me:
static unsigned long SwapU32(unsigned long to_swap) { const unsigned long mask = 0x00FF00FF; unsigned long temp; __asm { AND temp, mask, to_swap AND to_swap, mask, to_swap, ROR #24 ORR to_swap, to_swap, temp, ROR #8 } return (to_swap); }
Function extracted from original Keil supplied source.