Dear All,
I am compiling following code.
__asm{ STMDB R0!, {LR} }; __asm{ MOV LR, R0 }; __asm{ LDMIA SP!, {R0} }; . . .
But compiler is giving me following errors for each of above line.
error: #40: expected an identifier error: #666: "asm" must be used with a function error: #65: expected a ";"
Can anybody tell me the solution for it. Please reply me asearly as possible.
Thanks & Regards, Sachin D. Bhujbal
By giving you those messages, the compiler itself is giving you the solutions:
Message: error: #40: expected an identifier Solution: Give it an identifier!
Message: error: #666: "asm" must be used with a function Solution: Use it within a function!
Message: error: #65: expected a ";" Solution: This is probably related to the other errors - fix them, and this will probably go away.
Not exactly Andy - the OP is trying to use inline assembly in a way not supported. He would have known it had he bothered to read the compiler documentation, of course. Had he tried this - now look carefully mister OP -
__asm void foo(void) { STMDB R0!, {R14} MOV R14, R0 LDMIA SP!, {R0} }
no errors would have been generated!
View all questions in Keil forum