SSTs and Fortran ---- --- ------- Author: Richard Neitzel Process Control Applications 312 Laveta Pass Golden, CO 80401 13-Apr-87 Programs sometimes go bump in the night and exit due some nastiness, such as memory protection violations, odd addresses, etc. Since the only notification of this behavior is given to the invoking terminal, it is easy to not have any idea what happened, especially in a production enviroment where the answer is run it again or reboot. We have a large number of process control stations running in this manner. Since we have redirected the console logger to a file via COT, we wished to have termination notice given on the log. The two code sections SST and F77SST do just this. SST is written in Macro-11 to use the sstvec$ directive to remap the vector for the following ssts: odd address, memory protection violation, t bit trap, iot trap, reserved instruction and non-RSX emt. The F77 file F77SST contains a subroutine that of itself does nothing. Instead there are entry points that correspond to the names given the new sst vectors. When an sst occurs the code at that entry point is executed. The code supplied does the following: get the task name, put it in the correct message, set up a qio with write break through, issue the qio to invoking terminal and console, then exit. The qio can be a standard non-break through if desired, since to use io.wbt requires that the task be built using /PR:0. It is also possible to simply continue program execution if desired. In this case a simple return from interrupt is used, for example on an BPT: bpt:: rti OR bpt:: qio$ (msg) rti Obviously since you need to use the rti instruction, this can only be done from Macro. It is likely that a real RSX wizard can take this one step further and give back the approximate line of the problem, but that is currently beyond my expertise. If someone does this, please contact me: Richard Neitzel 312 Laveta Pass Golden, CO 80401 303 - 966 - 7203 or 303 - 279 - 1935