To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.pbforthOpen lugnet.robotics.rcx.pbforth in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / pbFORTH / 547
546  |  548
Subject: 
Re: Aborting from ISR
Newsgroups: 
lugnet.robotics.rcx.pbforth
Date: 
Tue, 16 Jul 2002 09:41:01 GMT
Viewed: 
2460 times
  
Ah I see... intriguing idea :)
Rereading your original post it should have been quite clear what you wanted.
Unfortunately (as far as I know) Mario is right, there doesn't seem to be a
clean solution other than manipulating the return stack.

I've played around a bit and found the following
(examining h8300-primary-rcx.tcl/OCIAwedge helps a lot):

: MyISR
  R> R@ SWAP >R       \ get pointer to saved data stack
  2 CELLS + @         \ get pointer to saved return stack
\ got R-Stack, now play with it ...
;

That way we can get to the original return stack.
(The original data stack is saved on the private R-stack; it (the orig.DS)
contains the following saved registers (top to bottom): rFWP, rFIP, rRSP )

I assume all that's left to do is manipulate the (original) R stack to
point to ABORT or COLD or something similar; I didn't succeed in this so far
though.

Maybe from the values in the return stack we can also conclude if pbForth was
sitting in the idle loop when the ISR was called; this approach would be quite
version-dependent however.

Greetings,
Alex



Message is in Reply To:
  Re: Aborting from ISR
 
Hi, (...) My questions were a bit ambiguous. I don't want to abort the routine running on the ISR; I want (from the ISR routine) to abort a currently running user routine - eg abort something started from the console. So, for example, if a program (...) (22 years ago, 15-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
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR