Skip to content

31B IOInstruction

Stub   MON 31B (25 decimal) · Mnemonic EXIOX · Group: Device Handling (manual section 2.11)

Available from: All programs (manual compatibility box)

Emulation source: src/handlers/mon_31B_IOInstruction.c

Description

Executes an IOX machine instruction. The IOX instruction handles the device registers. The IOX instruction must be inserted in the IOX table by the SINTRAN-SERVICE-PROGRAM command INSERT-IN-IOX-TABLE first.

  • SINTRAN III must know the device register addresses.
  • This monitor call may be used in debugging of device interfaces.

Parameters

Name Type Direction Description
RegContents INTEGER2 In Register contents before execution.
DevRegAddr INTEGER2 In Device register address.
ContentsAfter INTEGER2 Out Register contents after execution (output, returned in W1).

Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.

See also

PrivInstruction, CAMACIOInstruction, @EXECUTE-IOX

Compatibility

Machines Users Programs
ND-100 and ND-500 User RT and user SYSTEM All programs

The manual's compatibility box for this call, word for word.

Yes/no fields from the YAML extraction (not in the manual's words):

ND-100 ND-500 User programs RT programs System programs
Yes Yes No No No

Examples

From the manual (OCR text, not corrected).

INTEGER : RegContents, DevRegAddr, ContentsAfter
...
Monitor_Call('IOInstruction', RegContents, DevRegAddr, ContentsAfter)
INTEGER RegContents, DevRegAddr, ContentAfter
...
Monitor_Call('IOInstruction', RegContents, DevRegAddr, ContentAfter)
RegContents, DevRegAddr, ContentsAfter : INTEGER2;
...
IOInstruction(RegContents, DevRegAddr, ContentsAfter);
01 RegContent COMP.
01 DevRegAddr COMP.
01 ContentAfter COMP.
...
MONITOR-CALL "IOInstruction" USING RegContent, DevRegAddr, ContentAfter.
RegContents : W BLOCK 1
DevRegAddr : W BLOCK 1
ContentsAfter : W BLOCK 1
IOInstruction : EQU 3789 + 31B
...
CALLG IOInstruction, 2, RegContents, DevRegAddr
IF K GO error
W1 =: ContentsAfter %Result is returned in W1 register.
...
Error, ...
LDA (PAR %Load register A with address of parameter list.
MON 31 %Monitor call IOInstruction.
STA STAT %Store status returned.
...
STAT, 0

| PAR, REG | %Register contents. |
|----------|---------------------|
| DEV      | %Device register address.  |

REG, ...
DEV, ...

ndmonlib implementation

Stub Registered MON_STATUS_NOT_IMPLEMENTED: the handler is a stub. mon_dispatch() in src/core/mon_dispatch.c reports the call as unimplemented without calling it.

Handler mon_31B_IOInstruction
Code lines 7 (non-blank, non-comment lines in the file)

Source

SINTRAN III Monitor Calls (ND-860228.2 EN), page 327.