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.