|
Hi,
In lugnet.robotics.rcx.pbforth, Alexander Cech writes:
> It works! (after countless crashes and firmwire reloads that is ... :)
Yup, that does what I want, although I can't remember enough about forth
internals to work out why it works. But it does seem to depend on the return
stack having a particular structure, so I do wonder - what happens if the
interrupt occurs just as a forth is entering or leaving a word, or if the user
is manipulating the return stack ?
Cheers,
Richard
|
|
Message has 1 Reply: | | Re: Aborting from ISR
|
| (...) Hi, the nice thing in this solution is that it doesn't inspect or touch the user return stack at all. The structures that are used to get to the FIP (instruction pointer) - namely: the position of the saved D-stack in the *private* R-stack and (...) (22 years ago, 20-Jul-02, to lugnet.robotics.rcx.pbforth)
|
Message is in Reply To:
| | Re: Aborting from ISR
|
| It works! (after countless crashes and firmwire reloads that is ... :) By modifying the saved Instruction Pointer to point to a memory area which in turn contains the address of an "abort word", on the next execution of a word (either inside a (...) (22 years ago, 16-Jul-02, to lugnet.robotics.rcx.pbforth)
|
10 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|