307B TerminalNoWait¶
Stub MON 307B (199 decimal) · Mnemonic TNOWAI · Group: Input and Output Monitor Calls (manual section 2.5)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_307B_TerminalNoWait.c
Description¶
Switches No Wait on and off. No Wait is useful for input from, and output to, character devices, e.g. terminals. In No Wait, the program does not wait for input or output. Monitor calls like InByte return the error code 3 instead.
- SuspendProgram or WaitForRestart may passivate the program afterwards. The program then restarts when the device detects a break.
- The input buffer must be emptied before passivating the program.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DeviceNumber |
INTEGER2 | In | Logical device number of a character device. See appendix B. |
IOFlag |
INTEGER2 | In | Input or output flag. Use 0 for input and 1 for output. |
NoWaitFlag |
INTEGER2 | In | No Wait flag. Use 0 to switch No Wait off, and any other number to switch it on. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
InByte, OutByte, and NoWaitSwitch
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 and ND-500 | All users | 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 : DevNo, IOFlag, NoWaitFlag, RetStatus
...
Monitor_Call('TerminalNoWait', DevNo, IOFlag, NoWaitFlag, RetStatus)
INTEGER DevNo, IOFlag, NoWaitFlag, RetStatus
...
Monitor_Call('TerminalNoWait', DevNo, IOFlag, NoWaitFlag, RetStatus)
DevNo, IOFlag, NoWaitFlag, RetStatus.: INTEGER2;
...
TermNoWait(DevNo, IOFlag, NoWaitFlag, RetStatus); [Note routine name.]
01 DevNo COMP.
01 IOFlag COMP.
01 NoWaitFlag COMP.
01 RetStat COMP.
...
MONITOR-CALL "TerminalNoWait" USING DevNo, IOFlag, NoWaitFlag, RetStat.
DeviceNumber : W BLOCK 1
IOFlag : W BLOCK 1
NoWaitFlag : W BLOCK 1
TerminalNoWait : EQU 3789 + 307B
...
CALLG TerminalNoWait, 3, DeviceNumber, IOFlag, NoWaitFlag
LDA (PAR %Load register A with address of parameter list.
MON 307 %Monitor call TerminalNoWait.
STA STAT %Store status returned.
JAF ERROR %Handle error if register A is non-zero.
...
ERROR, ... %Error: illegal input.
...
STAT, 0
PAR, DEVNO %Logical device number of a terminal.
IOF %Input/output flag.
FLAG %No Wait flag.
...
DEVNO, ...
IOF, ...
FLAG, ...
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_307B_TerminalNoWait |
| Code lines | 8 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 535.