341B SegmentFunction¶
Stub MON 341B (225 decimal) · Mnemonic SGMTY · Group: Not grouped in manual
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_341B_SegmentFunction.c
Description¶
This is a multifunction monitor call used to change the active segments of a program, or the page index tables used by a program.
Notes¶
- This monitor call is meant to replace the older calls ChangeSegment (SPCHG, 337), and JumpToSegment (MCALL, 132) and ExitFromSegment (MEXIT, 133) on the VSX version.
- In ChangeSegment, JumpToSegment and ExitFromSegment, the segment numbers are limited to 8 bits (values 0-255). With the monitor call SegmentFunction, the segment numbers are 16 bits (values 0-65535).
- The functionality of the calls MCALL and MEXIT is expanded so as to allow you to change (or not) the page index table to be used with the new segment.
- A new function has been introduced in this call, that of removing a routine from being a direct task or a device driver, which has been entered as such by the monitor call SegmentToPageTable (ENTSEG).
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
FunctionCode |
INTEGER2 | In | Function code: 0=JumpToSegment without PIT change, 1=ExitFromSegment without PIT change, 2=JumpToSegment with PIT change, 3=ExitFromSegment with PIT change, 4=REMSG (remove segment from ENTSEG). |
StartAddress |
INTEGER2 | In | Start/return address. |
NewSegment1 |
INTEGER2 | In | New segment 1 (16-bit value 0-65535). |
NewSegment2 |
INTEGER2 | In | New segment 2 (16-bit value 0-65535). |
NewPageIndexTables |
INTEGER2 | In | New page index tables. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
ChangeSegment, JumpToSegment, ExitFromSegment
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 | 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 | No | No | Yes | No |
Examples¶
From the manual (OCR text, not corrected).
| Command | Description |
|---------|-------------|
| LDT (PARLI | %Load T register with address of parameter list. |
| MON 341 | %Monitor call SegmentFunction. |
| JMP ERROR | %Error return. |
| ... | %Normal return. |
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_341B_SegmentFunction |
| Code lines | 10 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 427.