132B JumpToSegment¶
Stub MON 132B (90 decimal) · Mnemonic MCALL · Group: Segment Administration (manual section 2.12)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_132B_JumpToSegment.c
Description¶
Calls a routine on another segment in the ND-100. You can divide an ND-100 RT program between various segments. This monitor call switches one or both of the current segments according to what you specify in parameter 2. 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¶
- Use ExitFromSegment to return from the routine.
- JumpToSegment may be nested.
- This monitor call does not change reentrant segments.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
SubroutineAddr |
INTEGER | In | Address of routine. |
NewSegment |
INTEGER | In | New segments. The most significant byte identifies the first segment. The least significant byte identifies the second segment. Use 377B as segment number if you do not want to change it. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
ExitFromSegment, 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).
SubroutineAddr, NewSegment : INTEGER2;
...
JumpToSegment(SubroutineAddr, NewSegment);
| LDT (PAR | %Load register T with address of parameter list. |
|---------------|-----------------------------------------------------|
| MON 132 | %Monitor call JumpToSegment. |
| ... | %Return after ExitFromSegment. |
| PAR, SUBR | %Address of subroutine. |
| SEG | %New segment to be loaded. |
| ... | |
| SUBR, ... | |
| SEG, 10030 | %New segments are 20B and 30B in this example. |
| | %ExitFromProgram shows the code on segment 30. |
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_132B_JumpToSegment |
| Code lines | 7 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 329.