Skip to content

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.