36B NoWaitSwitch¶
Stub MON 36B (30 decimal) · Mnemonic NOWT · Group: Input and Output Monitor Calls (manual section 2.5)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_36B_NoWaitSwitch.c
Description¶
Switches No Wait on and off. No Wait is useful for input from, and output to several devices simultaneously. In No Wait, the program does not wait for input or output to complete. Monitor calls like InByte return error code 3 instead.
- SuspendProgram or WaitForRestart may passivate the program afterwards. The program restarts when input or output to the device is completed.
- For performance reasons, use TerminalNoWait (TNOWAI, mon 307) rather than NoWaitSwitch.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DeviceNumber |
INTEGER | In | Logical device number of a character device. See appendix B. |
IOFlag |
INTEGER | In | Input or output flag. 0=input, 1=output. |
WaitFlag |
INTEGER | In | No Wait flag. 0=switch No Wait off, non-zero=switch it on. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
InByte, OutByte, and TerminalNoWait
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 : DeviceNumber, IOFlag, Waitflag
...
ON ROUTINEERROR DO
IF ErrCode >< 0 THEN ...
ENDON
Monitor_Call('NoWaitSwitch', DeviceNumber, IOFlag, Waitflag)
INTEGER DeviceNumber, IOFlag, WaitFlag
...
Monitor_Call('NoWaitSwitch', DeviceNumber, IOFlag, WaitFlag)
IF (ErrCode .NE. 0) THEN ...
DeviceNumber, IOFlag, WaitFlag : INTEGER2;
...
NoWaitSwitch(DeviceNumber, IOFlag, WaitFlag);
IF ErrCode <> 0 THEN ...
01 DeviceNumber COMP.
01 IOFlag COMP.
01 WaitFlag COMP.
01 ErrCode COMP.
...
MONITOR-CALL "NoWaitSwitch" USING DeviceNumber, IOFlag, WaitFlag.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
DeviceNumber : W BLOCK 1
IOFlag : W BLOCK 1
WaitFlag : W BLOCK 1
ErrCode : W BLOCK 1
NoWaitSwitch : EQU 37B9 + 36B
...
CALLG NoWaitSwitch, 3, DeviceNumber, IOFlag, WaitFlag
IF K GO ERROR
...
ERROR : W1 =: ErrCode %ErrorCode in W1 register.
LDA (PAR %Load register A with address of parameter list.
MON 36 %Monitor call NoWaitSwitch.
JAF ERROR %Handle error if register A is non-zero.
...
ERROR, ... %Handle this error.
...
PAR, DEVNO %Logical device number.
IOF %Input/output flag.
WAITFL %No Wait flag.
...
DEVNO, ...
IOF, ...
WAITFL, ...
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_36B_NoWaitSwitch |
| Code lines | 8 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 359.