104B SuspendProgram¶
Stub MON 104B (68 decimal) · Mnemonic HOLD · Group: RT Program Execution (manual section 2.10)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_104B_SuspendProgram.c
Description¶
Suspends the execution of your program for a given time. The execution then continues after the time specified by the monitor call.
Notes¶
- No reserved files or devices are released.
- The execution continues immediately if the program has the restart flag set.
- You may use NoWaitSwitch. Then the program restarts when a break occurs.
- If a program has been rescheduled by the monitor call? SET (mon 101, DelayStart) or ABSET (mon 102, StartupTime), this rescheduling will be destroyed when you use SuspendProgram.
- The parameters should not contain zero.
- Number of time units to suspend the program.
- The type of time units. 1 = basic time units, i.e. 1/50th of a second, 2 = seconds, 3 = minutes, 4 = hours.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
TimeUnits |
INTEGER | In | Number of time units to suspend the program. Should not be zero. |
UnitType |
INTEGER | In | Type of time units: 1 = basic time units (1/50th second) 2 = seconds 3 = minutes 4 = hours |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
TimeOut, WaitForRestart, @HOLD
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 and ND-500 | All users | All 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 |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : TimeUnits, UnitType
...
Monitor_Call('SuspendProgram', TimeUnits, UnitType)
INTEGER TimeUnits, UnitType
...
Monitor_Call('SuspendProgram', TimeUnits, UnitType)
TimeUnits, UnitType : INTEGER2;
...
SuspendProgram(TimeUnits, UnitType);
01 TimeUnits COMP.
01 UnitType COMP.
...
MONITOR-CALL "SuspendProgram" USING TimeUnits, UnitType.
TimeUnits : W BLOCK 1
UnitType : W BLOCK 1
SuspendProgram : EQU 37B9 + 104B
...
CALLG SuspendProgram, 2, TimeUnits, UnitType
| LDA | (PAR | %Load register A with address of parameter list. |
|--------|---------------|--------------------------------------------------|
| MON | 104 | %Monitor call SuspendProgram. |
| PAR, | TIME | %Number of time units the program has to wait. |
| BASE | | %Base time units. |
| TIME, | ... | |
| BASE, | ... | |
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_104B_SuspendProgram |
| Code lines | 7 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 497.