??? 01/04/08 14:58 Read: times |
#149043 - a refinement Responding to: ???'s previous message |
do_fine_delay: MOV A,R7 ; Get input parameter clr c subb a,#xxx ; xxx= overhead cycles jnc luvverly ; may need to check OV as well ??? just trying to be fast lcall Crash ; whatever your coding error catcher is called luvverly: CPL A ; Take two's compliment INC A MOV DPTR,#NOPS ; Point DPTR at the NOP table JMP @A+DPTR ; Jump into table That makes it void do_fine_delay(U8 ActualCycles) Erik |
Topic | Author | Date |
Number of CPU cycle for 8051 function call | 01/01/70 00:00 | |
Do it in assembler | 01/01/70 00:00 | |
Delay functions | 01/01/70 00:00 | |
A related trick | 01/01/70 00:00 | |
Offset | 01/01/70 00:00 | |
Offset | 01/01/70 00:00 | |
Sure | 01/01/70 00:00 | |
Over Drive? | 01/01/70 00:00 | |
a refinement | 01/01/70 00:00 | |
NOPs are so bad waste of space... | 01/01/70 00:00 | |
waste of space... waste of time | 01/01/70 00:00 | |
fixed delay | 01/01/70 00:00 | |
Variable delay | 01/01/70 00:00 | |
determinism of the cache | 01/01/70 00:00 | |
there are no cache misses in 'linear code' | 01/01/70 00:00 | |
I got only ONE cache miss... | 01/01/70 00:00 | |
Old Keil Thread | 01/01/70 00:00 | |
What about a Delay like this. | 01/01/70 00:00 | |
No, it won't. | 01/01/70 00:00 | |
Ok. | 01/01/70 00:00 | |
also | 01/01/70 00:00 | |
Also ... | 01/01/70 00:00 | |
Actually... | 01/01/70 00:00 | |
will. | 01/01/70 00:00 | |
ANSI C | 01/01/70 00:00 | |
Keil option: Disable ANSI casts | 01/01/70 00:00 | |
typo. | 01/01/70 00:00 |