Skip to content

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.