160B FixContiguous¶
Stub MON 160B (112 decimal) · Mnemonic FIXC · Group: Segment Administration (manual section 2.12)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_160B_FixContiguous.c
Description¶
Places a segment in physical memory. Its pages will no longer be swapped to the disk. The segment is placed in a contiguous area of physical memory. This function is useful for time-critical operations.
- The segment must be created with the RT LOADER as a non-demand segment.
- Use UnfixSegment or @UNFIX to allow the RT LOADER to clear the segment.
- Your program normally terminates if you refer to a nonexistent segment or a demand segment. An error message is output on the error device. See parameters 1 and 3 to get a status value instead.
- Only a limited number of pages can be fixed. This limit is defined when SINTRAN III is generated. You may change it with the command CHANGE-VARIABLE in the SINTRAN-SERVICE-PROGRAM.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
SegmentNo |
INTEGER2 | In | Segment number to be fixed. Set bit 15 to 1 if you want a return status. |
PageNumber |
INTEGER2 | In | First physical page number to be used. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
UnfixSegment, FixScattered, FixInMemory, MemoryAllocation, FixIOArea, and @FIXC
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 and ND-500 | User RT and user SYSTEM | RT 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 : SegmentNo, PageNumber, Stat
...
Monitor_Call('FixContiguous', SegmentNo, PageNumber, Stat)
INTEGER SegmentNo, PageNumber, Stat
...
Monitor_Call('FixContiguous', SegmentNo, PageNumber, Stat)
SegmentNo, PageNumber, Stat : INTEGER2;
...
FixContiguous(SegmentNo, PageNumber, Stat);
01 SegmentNo COMP.
01 PageNumber COMP.
01 Stat COMP.
...
MONITOR-CALL "FixContiguous" USING SegmentNo, PageNumber, Stat.
SegmentNo : W BLOCK 1
PageNumber : W BLOCK 1
FixContiguous : EQU 37B9 + 160B
...
CALLG FixContiguous, 2, SegmentNo, PageNumber
LDA (PAR %Load register A with address of parameter list.
MON 160 %Monitor call FixContiguous.
STA STAT %Returned status.
...
STAT, 0
PAR, SEGNO %Segment number to be fixed.
PAGE %First physical page number.
...
SEGNO, ...
PAGE, ...
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_160B_FixContiguous |
| Code lines | 7 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 201.