Skip to content

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.