Skip to content

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

NormalPageTable

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.