Skip to content

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.