User guide

162 CHAPTER 9. THE DESIGN OF CINTCODE
LLP b B := A; A := @P!b
LLPH h B := A; A := @P!h
LLPW w B := A; A := @P!w
LLG b B := A; A := @G!b
LLG1 b B := A; A := @G!(b + 256)
LLGH h B := A; A := @G!h
LLL Ln B := A; A := @(variable Ln)
LLL$ Ln B := A; A := @(variable Ln)
These instructions load the BCPL pointers to local, global and stati c variables.
9.2.3 Indirect Load
GBYT A := B%A
RV A := A!0
RVn 1 n 6 A := A!n
RVPn 3 n 7 A := P!n!A
L0Pn 3 n 12 B := A; A := P!n!0
L1Pn 3 n 6 B := A; A := P!n!1
L2Pn 3 n 5 B := A; A := P!n!2
L3Pn 3 n 4 B := A; A := P!n!3
L4Pn 3 n 4 B := A; A := P!n!4
LnG b 0 n 2 B := A; A := G!b!n
LnG1 b 0 n 2 B := A; A := G!(b+256)!n
LnGH h 0 n 2 B := A; A := G!h!n
These instructions are used in the implementation of byte and word indire ct i on oper-
ators % and ! in right hand contexts.
9.2.4 Expression Operators
NEQ A := -A
ABS A := ABS A
NOT A := ~A
These instructions implement the three monadic expression operators.
MUL A := B * A
DIV A := B / A
REM A := B REM A
ADD A := B + A
SUB A := B - A
LSH A := B << A
RSH A := B >> A
AND A := B & A
OR A := B | A
XOR A := B XOR A