150B CAMACGLRegister¶
Stub MON 150B (104 decimal) · Mnemonic GL · Group: Device Handling (manual section 2.11)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_150B_CAMACGLRegister.c
Description¶
Read the CAMAC GL (Graded LAM - "look at me") register or the last CAMAC identification number. See under CAMACfunction (mon 147) for more general information.
When a program requests interrupt, it generates a LAM to the control station. Up to 23 such signals may arrive, but for efficient handling in the computer, these must be reduced to 16 lines called Graded LAMs. The GL register, which may be read by the program, holds a bit mask giving the current LAM requests (bit=1 indicates LAM). The different graded LAM lines have individual IDENT codes (Bits 0-3: Graded LAM code. Bits 4-7: crate code. Bit 8=1 : CAMAC). A LAM Mask Register is used to enable (bit=1) or disable (bit=0) any of the 16 graded LAMs. Each time an IDENT code is read, the associated bit in the MASK register is cleared and must be set by the program to enable a new interrupt.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
Flag |
INTEGER2 | In | -1 means read last identification number. Other values means read GL register. |
CrateNo |
INTEGER2 | In | Crate number. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
CAMACFunction, AssignCAMACLAM, BCNAFCAMAC, BCNAF1CAMAC, CAMACIOInstruction
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 | No | Yes | Yes |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : Flag, CrateNo
...
Monitor_Call('CAMACGLRegister', Flag, CrateNo)
INTEGER Flag, CrateNo
...
Monitor_Call('CAMACGLRegister', Flag, CrateNo)
Flag, CrateNo : INTEGER2;
...
CAMACGLRegister(Flag, CrateNo);
01 Flag COMP.
01 CrateNo COMP.
...
MONITOR-CALL "CAMACGLRegister" USING Flag, CrateNo.
Flag : W BLOCK 1
CrateNo : W BLOCK 1
ErrCode : W BLOCK 1
CAMACGLRegister : EQU 3789 + 150B
...
CALLG CAMACGLRegister, 2, Value, CrateNo
IF K GO Error,
...
Error, W1 =: ErrCode
LDA CRATE %Crate number.
COPY SA DD
LDA FUNC %Function.
MON 150 %Monitor call CAMACGLRegister.
STA RETUR %Store result.
...
RETUR, 0
FUNC, ... %Input: function / Output: last identification
CRATE, ... % or GL register.
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_150B_CAMACGLRegister |
| Code lines | 7 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 102.