| ??? 09/08/06 21:31 Read: times  | 
#123945 - Is it a call? Responding to: ???'s previous message  | 
If you reset the stack pointer?  One normally will set the stack pointer as a result of execution starting at 0x0000.  As a result call or jmp have no significant difference here.  The big issue is that jmp 0x0000 is not the same as RESET.  I prefer the watchdog method where possible.
 Regarding the explanation: 0x0000 is a number (U8 code *)0x0000 is a number which points to a byte of code space (void (*)()) typecasts it to a pointer to function with no parameters or return value (* )(); executes it. One probably doesn't need all the brackets or typecasts (since you can't execute from the other memory spaces anyway), but it makes it clearer to the compiler and I believe more strictly correct. Using LINT helps with this kind of thing. It really gets more interesting when you have a pointer to a pointer or arguments in the function. Here are the steps again: 
                            0x0000           Number     
                 (U8 code *)0x0000           Typecast to pointer to code
   (void (*)()) ((U8 code *)0x0000)          Typecast that to func
(* (void (*)()) ((U8 code *)0x0000) ) ();    Execute (dereference) or do-that-thing
 | 
| Topic | Author | Date | 
| Soft reset in C | 01/01/70 00:00 | |
| you can't do it with a jump anyhow | 01/01/70 00:00 | |
| No dog | 01/01/70 00:00 | |
| Very soft | 01/01/70 00:00 | |
| That was for Keil | 01/01/70 00:00 | |
| Explanation | 01/01/70 00:00 | |
| I try to explain. | 01/01/70 00:00 | |
| Incorrect comment | 01/01/70 00:00 | |
| Is it a call? | 01/01/70 00:00 | |
| Yuk | 01/01/70 00:00 | |
| the good thing about C is... | 01/01/70 00:00 | |
| LOL, made my day - thanks | 01/01/70 00:00 | |
| and that's how | 01/01/70 00:00 | |
| _asm ljmp 0x0000 _endasm; | 01/01/70 00:00 | |
| goto in C | 01/01/70 00:00 | |
| goto scope | 01/01/70 00:00 | |
| slow??? | 01/01/70 00:00 | |
| Re: Slow? | 01/01/70 00:00 | |
| The simple way to do reset in C | 01/01/70 00:00 | |
| I don't think so... | 01/01/70 00:00 | |
| that is NOT a \'reset\' | 01/01/70 00:00 | |
| C wizard: Dan Saks | 01/01/70 00:00 | |
| that is not what's tricky | 01/01/70 00:00 | |
| Bad karma | 01/01/70 00:00 | |
| nothing wrong with that after a hard reset | 01/01/70 00:00 | |
   Mix Asysmbly        | 01/01/70 00:00 | 



