Can someone tell me is there a possibility for excluding some ASM instruction from C KEIL compiler? (while compiler is converting C files to ASM during compilation, may those instruction be avoided?) Brana
No, that is not a point. My 8051 has system clock 150MHz, and execution of one instruction in 2 cycles.
First you said, "This is FPGA processor core, and we have some block related with ALU which is very slow in execution." Now you say, "My 8051 has system clock 150MHz, and execution of one instruction in 2 cycles" Seems bizarre to me - so slow, and yet so fast!? I don't see how excluding a few instructions will help. Which instructions do you want to exclude, and how do you think it will help? The only way you could prevent the compiler from using some instructions would be to get Keil to write a special version specifically for you. Perhaps if you could give full details of what you're actually trying to achieve, and what the problem is, we could think of a solution? Alternatively, SDCC is an open-source compiler - so maybe you could modify that to your requirements...?
Thank you, but I'll find another way to speed up the firmware, time is critical for me too.. :)
"Alternatively, SDCC is an open-source compiler - so maybe you could modify that to your requirements...?" I strongly suspect that writing ones own routines in assembler would take several years less than getting that to work...
I strongly suspect that writing ones own routines in assembler would take several years less than getting that to work... Stefan, are you sitting down? I agree. Anyhow to the general subject of this post, this (or VERY similar) has been discussed before. It seems that when a ASIC/CPLD implementer run into trouble with implementing some instruction(s) (s)he post "can the compiler do without". The OP could implement the "added functionality" using A5, xx as opcodes for the added stuff and maintain full compatibility with the standard. Erik