33B AltPageTable¶
Stub MON 33B (27 decimal) · Mnemonic ALTON · Group: Segment Administration (manual section 2.12)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_33B_AltPageTable.c
Description¶
Switches page table. Each page table allows you to access 128 Kbyte memory. SINTRAN III has 4 page tables. SINTRAN III VSX, version K, has 16 page tables. They are numbered 0-15. RT programs may use any page table. Background programs will get page table 2. The parameter is ignored.
Notes¶
- The specified page table is used for all later X register relative, B-register relative, and indirect addresses. P register relative addresses go through the normal page table. See the ND-100 Functional Description (ND-06.015) for details on addressing and page table selection.
- When used from background, the background segment size must be 256 Kbyte. See @CHANGE-BACKGROUND-SEGMENT-SIZE.
- Do not call AltPageTable twice without calling NormalPageTable in between.
- If addressing via the alternative page table (LDA, STA), bit 0 in the status register (STS) must be set to 1. If this bit is 0, addressing is via the normal page table. This monitor call sets bit 0 in the status register to 1.
- Monitor calls are independent of status bit 0. Return parameters are always on the alternative page table.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
PageTableNumber |
INTEGER | In | Number of the page table to use (0-15 for VSX). |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 | 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 | No | No | No | No |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : PageTableNumber
...
Monitor_Call('AltPageTable', PageTableNumber)
INTEGER PageTableNumber
...
Monitor_Call('AltPageTable', PageTableNumber)
PageTableNumber : INTEGER2;
...
AltPageTable(PageTableNumber);
01 PageTableNumber COMP.
...
MONITOR-CALL "AltPageTable" USING PageTableNumber.
| Instruction | Parameters | Description |
|-------------|-------------|----------------------------------------|
| LDA | (PAR | %Load register A with address of parameter list. |
| MON | 33 | %Monitor call AltPageTable. |
| ... | | |
| PAR, | PAGE | |
| ... | | |
| PAGE, | ... | %Number of the alternative page table. |
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_33B_AltPageTable |
| Code lines | 6 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 77.