131B DataTransfer¶
Stub MON 131B (89 decimal) · Mnemonic ABSTR · Group: Input and Output Monitor Calls (manual section 2.5)
Available from: not known - no compatibility box captured from the manual
Emulation source: src/handlers/mon_131B_DataTransfer.c
Description¶
Transfers data between physical memory and a mass-storage device, e.g. a disk or magnetic tape. You may perform various device control functions. This monitor call is mainly used by the operating system itself. For more details, refer to the ND-100 SCSI Reference Guide, ND-12.048.
- With SINTRAN III/VSX, the monitor call and the parameters must reside on a fixed segment on protection ring 2. With SINTRAN III/VSE, the monitor call and parameters must reside in resident memory.
- The physical memory area must be contiguous. Older versions of magnetic tapes or disk controllers cannot cross physical memory bank boundaries of 128 Kbytes. These magnetic tapes have ND numbers less than ND-537. The disks have ND numbers less than ND-559.
- If you write code to be independent of whether it is run on SINTRAN III VSE or VSX, you are advised to use TransferData (EXABS, mon 335).
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DeviceNo |
INTEGER | In | Logical device number. See appendix B. |
Func |
INTEGER | In | Function code. See the tables on the following pages. |
MemoryAddr |
INTEGER | In | Physical memory address (32-bit). |
BlockAddr |
INTEGER | In | Block address on the disk. See the tables on the following pages. |
NoOfBlocks |
INTEGER | In | Number of blocks to transfer. |
Stat |
INTEGER | Out | Error code returned in W1. Negative if error. Contains a hardware status. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
TransferData, ReadFromFile, WriteToFile. TransferData allows you to use any page table
Compatibility¶
| ND-100 | ND-500 | User programs | RT programs | System programs |
|---|---|---|---|---|
| Yes | Yes | Yes | Yes | No |
From the YAML extraction; this call's page in the manual had no compatibility box that was captured.
Examples¶
From the manual (OCR text, not corrected).
INTEGER : DeviceNo, Func, BlockAddr, NoOfBlocks, Stat
INTEGER4 : MemoryAddr
Monitor_Call('DataTransfer', DeviceNo, Func, MemoryAddr, & BlockAddr, NoOfBlocks, Stat)
INTEGER DeviceNo, Func, BlockAddr, NoOfBlocks, Stat
INTEGER*4 MemoryAddr
...
Monitor_Call('DataTransfer', DeviceNo, Func, MemoryAddr, BlockAddr, NoOfBlocks, Stat)
Scanned by Jonny Oddene for Sintran Data © 2020
DeviceNo, Func, BlockAddr, NoOfBlocks, Stat : INTEGER2;
MemoryAddr : LONGINT;
...
DataTransfer(DeviceNo, Func, MemoryAddr, BlockAddr, NoOfBlocks, Stat);
01 DeviceNo COMP.
01 Func COMP.
01 BlockAddr COMP.
01 NoOfBlocks COMP.
01 Stat COMP.
01 MemoryAddr COMP PIC S9(10).
...
MONITOR-CALL "DataTransfer" USING DeviceNo, Func, MemoryAddr, BlockAddr, NoOfBlocks, Stat.
DeviceNo : W BLOCK 1
Func : W BLOCK 1
MemoryAddr : W BLOCK 1 %ND-100 memory address.
BlockAddr : W BLOCK 1
NoOfBlocks : W BLOCK 1
Stat : W BLOCK 1
DataTransfer : EQU 37B9 + 131B
CALLG DataTransfer, 5, DeviceNo, Func, MemoryAddr, &
BlockAddr, NoOfBlocks
IF K GO Error
Error, W1 =: Stat
| Code | Description |
|-------|----------------------------------------------|
| LDT | DEVNO %Logical device number. |
| LDA | (PAR %Load register A with address of parameter list. |
| MON | 131 %Monitor call DataTransfer. |
| JAN | ERROR %Error if register A is negative. |
%Continue with processing.
%Error number in register A.
| Variable | Description |
|----------|---------------------------------------|
| DEVNO | ... |
| PAR | FUNC %Function code etc. |
| DMEM | %Memory address. |
| BLOCK | %Block address. |
| NOBLK | %Number of blocks to transfer. |
% ... indicates continuation of descriptions, more variables, or other details.
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_131B_DataTransfer |
| Code lines | 10 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 127.