Skip to content

23B In8Bytes

Stub   MON 23B (19 decimal) · Mnemonic B8INB · Group: File Operations (manual section 2.4)

Available from: All programs (manual compatibility box)

Emulation source: src/handlers/mon_23B_In8Bytes.c

Description

Reads 8 bytes from a device. The input is fast, but the monitor call does not apply the defined echo and break setting.

  • Do not use this monitor call for terminals and TAD's when echo and break should be applied.
  • Appendix F contains an ASCII table.

Parameters

Name Type Direction Description
DeviceNumber INTEGER In Logical device number. See appendix B.
NoOfBytes INTEGER Out Number of bytes read (or words if word-oriented device).
DataRead STRING Out Buffer to receive the 8 bytes read.

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

See also

In8AndFlag, InUpTo8Bytes, InByte, InString, InputString, In4x2Bytes, and Out8Bytes

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 Yes Yes No

Examples

From the manual (OCR text, not corrected).

INTEGER : DeviceNumber, NoOfBytes
BYTES : DataRead(0:7)
...
ON ROUTINEERROR DO
    IF ErrCode > 0 THEN ...
ENDON
Monitor_Call('In8Bytes', DeviceNumber, NoOfBytes, DataRead)
INTEGER DeviceNumber, NoOfBytes
CHARACTER DataRead*8
...
Monitor_Call('In8Bytes', DeviceNumber, NoOfBytes, DataRead(1:8))
IF (ErrCode .NE. O) THEN ...
DeviceNumber, NoOfBytes: INTEGER2;
DataRead: PACKED ARRAY [0..7] OF CHAR;
...
In8Bytes(DeviceNumber, NoOfBytes, DataRead);
IF ErrCode <> O THEN ...
01 DeviceNumber COMP.
01 NoOfBytes COMP.
01 DataRead PIC X(8).
01 ErrCode COMP.
...
MONITOR-CALL "In8Bytes" USING DeviceNumber, NoOfBytes, DataRead.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
DeviceNumber : W BLOCK 1
NoOfBytes : W BLOCK 1
DataRead : STRING 8
ErrCode : W BLOCK 1
In8Bytes : EQU 37B9 + 23B
...
CALLG In8Bytes, 3, DeviceNumber, NoOfBytes, DataRead
IF K GO ERROR
...
ERROR : W1 =: ErrCode


%ErrorCode in W1 register.
LDT DEVNO         %Logical device number.
MON 23            %Monitor call In8Bytes.
JMP ERROR         %Error return from monitor call.
STD BYTES         %Normal return, store first 4 bytes read.
COPY SL DA
STA BYTES+2       %Store next 2 bytes read.
STX BYTES+3       %Store last 2 bytes read.
STT COUNT         %Store number of bytes (or words) read.
...
ERROR, ...        %Error number in register A.
...
DEVNO, ...
COUNT, 0
BYTES, 0
0
0
0



Scanned by Jonny Oddene for Sintran Data © 2020

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_23B_In8Bytes
Code lines 6 (non-blank, non-comment lines in the file)

Source

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