61B MemoryAllocation¶
Stub MON 61B (49 decimal) · Mnemonic FIXC5 · Group: Segment Administration (manual section 2.12)
Available from: not known - no compatibility box captured from the manual
Emulation source: src/handlers/mon_61B_MemoryAllocation.c
Description¶
Fixes or unfixes ND-100 segments to be used by the ND-500 Monitor. You may also reserve a contiguous area in physical memory. Various other memory functions are reserved for the ND-500 Monitor.
Notes¶
- This monitor call is not normally used by ordinary programs.
- You may use this monitor call to reserve space for DMA buffers.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
FuncCode |
INTEGER | In | Function code. Function codes 4, 5 and 6 are the only values allowed. The functions and parameters are described on the third page for this call. |
Param2 |
INTEGER | I/O | Parameter 2. Depends on the function code. |
Param3 |
INTEGER | I/O | Parameter 3. Depends on the function code. |
Param4 |
INTEGER | I/O | Parameter 4. Depends on the function code. |
Param5 |
INTEGER | I/O | Parameter 5. Depends on the function code. |
Param6 |
INTEGER | I/O | Parameter 6. Depends on the function code. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
FixScattered, FixInMemory, FixContiguous, UnFixSegment
Compatibility¶
| ND-100 | ND-500 | User programs | RT programs | System programs |
|---|---|---|---|---|
| Yes | No | Yes | Yes | Yes |
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 : FuncCode, Param2, Param3, Param4, Param5, Param6
...
ON ROUTINEERROR DO
IF ErrCode <> 0 THEN ...
ENDON
Monitor_Call('MemoryAllocation', FuncCode, Param2, Param3, &
Param4, Param5, Param6)
INTEGER FuncCode, Param2, Param3, Param4, Param5, Param6
...
Monitor_Call('MemoryAllocation', FuncCode, Param2, Param3,
C Param4, Param5, Param6)
IF (ErrCode .NE. 0) THEN ...
FuncCode, Param2, Param3, Param4, Param5, Param6 : INTEGER2;
...
MemoryAllocation(FuncCode, Param2, Param3, Param4, Param5, Param6);
IF ErrCode <> 0 THEN ...
01 FuncCode COMP.
01 Param2 COMP.
01 Param3 COMP.
01 Param4 COMP.
01 Param5 COMP.
01 Param6 COMP.
01 ErrCode COMP.
...
MONITOR-CALL "MemoryAllocation" USING FuncCode, Param2, Param3, Param4, Param5, Param6.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
LDA (PAR %Load register A with address of parameter list.
MON 61 %Monitor call MemoryAllocation.
JMP ERROR %Error return from monitor call.
... %Normal return.
ERROR, ... %Error number in register A.
...
PAR, FUNC %For the rest of this example, a special case
PARA2 %(function code = 4) is taken, in order to
PARA3 %emphasize that all parameters must be included.
PARA4
DUMMY %All parameters MUST be included, even if they
DUMMY %are dummy for a particular function code.
...
FUNC, 4 %Function code, in this case 4 (fix a segment contiguously at any address within a specified physical memory area.
PARA2, 200 %Segment number.
PARA3, 0 %First legal physical memory page.
PARA4, -1 %Last legal physical memory page. The value -1 is the maximum value.
DUMMY, 0 %Dummy value for parameters 5 and 6.
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_61B_MemoryAllocation |
| Code lines | 6 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN).