Skip to content

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).