<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to F$Icpt</title><link>https://sourceforge.net/p/nitros9/wiki/F%2524Icpt/</link><description>Recent changes to F$Icpt</description><atom:link href="https://sourceforge.net/p/nitros9/wiki/F$Icpt/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 27 Jun 2014 23:20:53 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/nitros9/wiki/F$Icpt/feed" rel="self" type="application/rss+xml"/><item><title>F$Icpt modified by Lothan</title><link>https://sourceforge.net/p/nitros9/wiki/F%2524Icpt/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;strong&gt;Intercept&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Sets a signal intercept trap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OS9 F$Icpt 103F 09&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Entry Conditions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;X &lt;em&gt;address of the intercept routine&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;U &lt;em&gt;starting address of the routine’s memory area&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exit Conditions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Signals sent to the process cause the intercept routine to be called instead of the process being killed. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Additional Information&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intercept tells NitrOS-9 to set a signal intercept trap. Then, whenever the process receives a signal, NitrOS-9 executes the process’s intercept routing. &lt;/li&gt;
&lt;li&gt;Store the address of the signal handler routine in Register X and the base address of the routine’s storage area in Register U. &lt;/li&gt;
&lt;li&gt;Once the signal trap is set, NitrOS-9 can execute the intercept routine at any time because a signal can occur at any time. &lt;/li&gt;
&lt;li&gt;Terminate the intercept routine with an RTI instruction. &lt;/li&gt;
&lt;li&gt;If a process has not used the Intercept system call to set a signal trap, the process terminates if it receives a signal. &lt;/li&gt;
&lt;li&gt;This is the order in which F$Icpt operates: &lt;/li&gt;
&lt;li&gt;When the process receives a signal, NitrOS-9 sets Registers U and B as follows: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;U &lt;em&gt;starting address of the intercept routine’s memory area&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;B &lt;em&gt;signal code&lt;/em&gt; (process’s termination status) &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The value of Register DP cannot be the same as it was when the Intercept call was made. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;After setting the registers, NitrOS-9 transfers execution to the intercept routine. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;krnp2&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lothan</dc:creator><pubDate>Fri, 27 Jun 2014 23:20:53 -0000</pubDate><guid>https://sourceforge.neta392f67701018e955499faf5c806ccbff8e2cec6</guid></item></channel></rss>