Read Address Memory (RAD)/OP=92

Format

OP AF BF A Address

OP = 92

AF Type of operation. AF can be indirect or specify a literal.
BF Channel number. BF can be indirect. BF can specify any octal value from 00 to 77.

A Address Address of the 10-digit memory location where the begin or end address is stored. During a write operation, this memory location contains the begin/end address to be written. Pre-Omega the eight digit address is stored right justified in the ten-digit operand. The final address controller is ignored.

Note Pre-Omega: This is a privileged instruction. The base must equal zero.
Note Omega Revision A: This is a privileged instruction. The privileged toggle must equal one.
Note Omega Revision B: This instruction is obsolete. See SPIO

Function

When BF equals a legal octal channel number from “00” to “77”, the Read Address instruction causes the processor to read the specified data from an I/O channel address memory and store the value in a memory location (A) or write the value from a memory location (A) into both the begin and end addresses of the associated channel.

Examine the Specified I/O channel to determine if it is busy with another I/O function. If it is available, the RAD function will be performed and the Comparison Flags set to EQUAL. If the I/O channel is unavailable, the RAD function will not be performed and the Comparison Flags will be set to HIGH.

A RAD to channel 08 is treated as a no-op.

Pre-Omega: Channel numbers 91 and 94 specify processor extended register R1 and R4.
Pre-Omega: Channel numbers 90, 92, 93, 95-9F cause Invalid Instruction to be set.

AF Function
00 Store the current begin address of the channel specified in BF in memory as a 10UN (Pre-Omega 8UN value is right justified in 10UN) field at the location specified by the (A) address.
01 Store the current end address of the channel specified in BF in memory as a 10UN (Pre-Omega 8UN value is right justified in 10UN) field at the location specified by the (A) address.
02 Store the first two words of the extended R/D for the channel specified in BF in memory at the location specified by the (A) address.
Pre-Omega: Unused
03 Store up to four words (16 digits) of the extended R/D for the channel specified in BF in memory at the location specified by the (A) address.
Pre-Omega: Unused
09 Store the 10UN (Pre-Omega 8UN) field at the location specified by the (A) address into both the begin and end addresses of the channel specified by BF.

Comparison Flags

Omega Revision A: The comparison flags are set to HIGH if the channel is busy, EQUAL otherwise.

Overflow Flag

The overflow flag is unchanged.

instructions/rad.txt · Last modified: 2018/03/12 17:07 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki