Skip to content

124B ForceReserve

Stub   MON 124B (84 decimal) · Mnemonic PRSRV · Group: RT Program Execution (manual section 2.10)

Available from: RT programs (manual compatibility box)

Emulation source: src/handlers/mon_124B_ForceReserve.c

Description

Reserves a device for an RT program other than that which is calling. Use ForceRelease if the device is already reserved.

  • You can only release peripheral devices, such as terminals and printers, and semaphores in this way.
  • Programs in a waiting queue may reserve the device between your ForceRelease and ForceReserve calls if they have higher priority than your program.
  • The SINTRAN III Real Time Guide (ND-860133) describes this in more detail.

Parameters

Name Type Direction Description
DeviceNo INTEGER2 In Logical device number. See appendix B.
IOFlag INTEGER2 In Input/output flag. 0=input part, 1=output part.
RTProgram INTEGER2 In RT description address of the RT program to reserve the device. Use 0 for your own program.

Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.

See also

ForceRelease, ReserveResource, and @PRSRV

Compatibility

Machines Users Programs
ND-100 and ND-500 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

Examples

From the manual (OCR text, not corrected).

INTEGER : DeviceNo, IOFlag, RTProgram, Stat
...
Monitor_Call('ForceReserve', DeviceNo, IOFlag, RTProgram, Stat)
INTEGER DeviceNo, IOFlag, RTProgram, Stat
...
Monitor_Call('ForceReserve', DeviceNo, IOFlag, RTProgram, Stat)
DeviceNo, IOflag, RTProgram, Stat : INTEGER2;
...

PrivReserve(DeviceNo, IOflag, RTProgram, Stat); [Note routine name.]
01 DeviceNo COMP.
01 IOFlag COMP.
01 RTProgram COMP.
01 Stat COMP.
...
MONITOR-CALL "ForceReserve" USING DeviceNo, IOFlag, RTProgram, Stat.
DeviceNo : W BLOCK 1
IOFlag : W BLOCK 1
RTProgram : W BLOCK 1
ForceReserve : EQU 3789 + 124B
...
CALLG ForceReserve, 3, DeviceNo, IOFlag, RTProgram
LDA (PAR  %Load register A with address of parameter list.
MON 124  %Monitor call ForceReserve.
STA STAT %Store status returned.
...
STAT, 0
PAR, DEVNO  %Logical device number.
IOF  %Input or Output flag.
RTPRO %Address of RT description.
...
DEVNO, ...
IOF, ...
RTPRO, ...

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_124B_ForceReserve
Code lines 8 (non-blank, non-comment lines in the file)

Source

SINTRAN III Monitor Calls (ND-860228.2 EN), page 211.