24.12.2013 Views

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PIINI [CALLI 135]<br />

22.124 PIINI. [CALLI 135]<br />

FUNCTION<br />

Initializes the programmable software interrupt (PSI) facility by<br />

clearing any old interrupts and storing the base address of the<br />

interrupt vector block. Refer to Chapter 6 for more information about<br />

using the PSI system.<br />

CALLING SEQUENCE<br />

MOVE ac, [flag + addr]<br />

PIINI. ac,<br />

error return<br />

skip return<br />

addr:<br />

interrupt vector block address<br />

In the calling sequence, the program supplies the following variables:<br />

o<br />

flag is one or more of the following:<br />

Bits<br />

o<br />

1<br />

Symbol<br />

PS.UCS<br />

PS.IEA<br />

Meaning<br />

Use the current (PC) section for the vector<br />

section. (IFIW) If PS.UCS is not set, addr<br />

is treated as a 30-bit address. This bit<br />

is ignored if PS.IEA is not set.<br />

Use extended addressing format. A 30-bit<br />

PC word is stored in the old PC location in<br />

the PSI block when an interrupt occurs. No<br />

flags are stored in the PC. Flags are<br />

stored in the monitor, and may be returned<br />

using the PIFLG. UUO.<br />

If PS.IEA is clear, the entire contents of<br />

the left half of the ac will be ignored.<br />

o<br />

addr is the base address of the first interrupt vector block<br />

(described below) .<br />

The interrupt vector block is a list of one or more sub-blocks, each<br />

of which is formatted as follows:<br />

Offset<br />

o<br />

1<br />

Symbol<br />

.PSVNP<br />

.PSVOP<br />

Contents<br />

New program counter; this is the address of the<br />

interrupt service routine. This value is set by<br />

the prog~m. The program supplies a 30-bit<br />

address if you have not set PS.IEA (above). If<br />

PS.IEA is not set, the left-hand half of this word<br />

is ignored.<br />

Old program counter; this is the address of the<br />

next instruction after the instruction that was<br />

being executed when the interrupt occurred. This<br />

value is returned by the monitor on a interrupt.<br />

If the instruction was a monitor call, .PSVOP<br />

contains the return address for the calli however,<br />

if the monitor terminated the call, .PSVOP<br />

contains the address of the call itself.<br />

22-309

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!