154B AssignCAMACLAM¶
Stub MON 154B (108 decimal) · Mnemonic ASSIG · Group: Device Handling (manual section 2.11)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_154B_AssignCAMACLAM.c
Description¶
Assigns a graded LAM in the CAMAC identification table to a logical device number in the logical number table. See CAMACFunction and CAMACGLRegister for more details.
Notes¶
- Remove the LAM by specifying logical device number -1.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DeviceNumber |
INTEGER | In | Logical device number. See appendix B. |
GradedLAMNumber |
INTEGER | In | Graded LAM number. Use 0 for high priority on interrupt level 13. |
CrateNumber |
INTEGER | In | CAMAC crate number in the range 0:15. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
CAMACFunction, BCNAFCAMAC, BCNAF1CAMAC, CAMACIOInstruction, CAMACGLRegister
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, GradedLAMNumber, CrateNo
...
ON ROUTINEERROR DO
IF ErrCode >< 0 THEN ...
ENDON
Monitor_Call('AssignCAMACLAM', DeviceNo, GradedLAMNumber, CrateNo)
INTEGER DeviceNo, GradedLAMNumber, CrateNo
...
Monitor Call('AssignCAMACLAM', DeviceNo, GradedLAMNumber, CrateNo)
IF (ErrCode .NE. 0) THEN ...
DeviceNumber, GradedLAMNumber, CrateNumber : INTEGER2;
...
AssignCAMACLAM(DeviceNumber, GradedLAMNumber, CrateNumber);
IF ErrCode <> 0 THEN ...
01 DeviceNo COMP.
01 GradedLAMNumber COMP.
01 CrateNo COMP.
01 ErrCode COMP.
...
MONITOR-CALL "AssignCAMACLAM" USING DeviceNo, GradedLAMNumber, CrateNo.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
DeviceNo : W BLOCK 1
GradedLAMNumber : W BLOCK 1
CrateNo : W BLOCK 1
ErrCode : W BLOCK 1
AssignCAMACLAM : EQU 37B9 + 154B
...
CALLG AssignCAMACLAM, 3, DeviceNo, GradedLAMNumber, CrateNo
IF K GO ERROR
...
ERROR : W1 =: ErrCode %ErrorCode in W1 register.
LDT GRLAM %Graded LAM.
LDA CRATE %Crate number.
COPY SA DD
LDA DEVNO %Logical device number.
MON 154 %Monitor call AssignCAMACLAM.
JAN ERROR %Error if register A is negative.
...
ERROR, ... %Error number in register A.
...
GRLAM, ...
DEVNO, ...
CRATE, ...
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_154B_AssignCAMACLAM |
| Code lines | 8 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 104.