133B ExitFromSegment¶
Stub MON 133B (91 decimal) · Mnemonic MEXIT · Group: Segment Administration (manual section 2.12)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_133B_ExitFromSegment.c
Description¶
Exchanges one or both current segments. Commonly used to return after the monitor call JumpToSegment. ChangeSegment may be used instead of JumpToSegment and ExitFromSegment. The segment numbers are restricted to 8-bits (values 0-255). Use SegmentFunction (MON 341) with version K of SINTRAN III.
Notes¶
- The L register must contain the return address. This makes the monitor call complicated to use in high level languages.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
SegmentNumber |
INTEGER | In | Segment number to return to (8-bit, values 0-255). |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
JumpToSegment, ChangeSegment, SegmentFunction
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 | Yes | Yes | Yes | No |
Disagreement
The manual box says ND-100, but the yes/no fields say ND-100 = Yes, ND-500 = Yes. The manual box is the source.
Examples¶
From the manual (OCR text, not corrected).
SegmentNumber : INTEGER2;
...
ExitFromSegment(SegmentNumber);
| Command | Description |
|---------|-------------|
| ... | %See JumpToSegment. |
| ... | %This code is on segment 30B. |
| SUBR, STT SEGNO | %Entry point after JumpToSegment. |
| COPY SL DT | %Save T and L registers. |
| STT RETUR | %L register contains return address. |
| ... | %Any processing on the segment. |
| ... | |
| LDT RETUR | %Restore return address in L register. |
| COPY ST DL | |
| LDT SEGNO | %Restore calling segment number. |
| MON 133 | %Monitor call ExitFromSegment. |
| SEGNO, ... | %Segment number. |
| RETUR, ... | %Return address. |
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_133B_ExitFromSegment |
| Code lines | 6 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 187.