Prologue:
PROCEDURE [name: Rope.
ROPE, label: HandCodingPseudos.Label, args:
INT];
associates the name with the label, defines the label and makes it global
Instructions that use labels
iDFC: PROC [dest: HandCodingPseudos.Label];
iJB: PROC [dest: HandCodingPseudos.Label];
iJEQj: PROC [AlphaZ: HandCoding.Lit8, dest: HandCodingPseudos.Label];
iJNEj: PROC [AlphaZ: HandCoding.Lit8, dest: HandCodingPseudos.Label];
iLFC: PROC [dest: HandCodingPseudos.Label];
iRJGTj: PROC [a: HandCoding.ShortRegSpec, b: HandCoding.RegSpec, dest: HandCodingPseudos.Label];
iRJGEj: PROC [a: HandCoding.ShortRegSpec, b: HandCoding.RegSpec, dest: HandCodingPseudos.Label];
iRJEQj: PROC [a: HandCoding.ShortRegSpec, b: HandCoding.RegSpec, dest: HandCodingPseudos.Label];
iRJNEj: PROC [a: HandCoding.ShortRegSpec, b: HandCoding.RegSpec, dest: HandCodingPseudos.Label];
iRJLEj: PROC [a: HandCoding.ShortRegSpec, b: HandCoding.RegSpec, dest: HandCodingPseudos.Label];
iRJLTj: PROC [a: HandCoding.ShortRegSpec, b: HandCoding.RegSpec, dest: HandCodingPseudos.Label];
Specifiers
constants
Constant0: HandCoding.ConstSpec = HandCoding.const0;
Short0: HandCoding.ShortRegSpec = const0;
Constant1: HandCoding.ConstSpec = HandCoding.const1;
Short1: HandCoding.ShortRegSpec = const1;
ConstantMinus1: HandCoding.ConstSpec = HandCoding.constN1;
NIL
NILValue: INT = 0;
NILByte: HandCoding.Lit8 = 0;
ShortNIL: HandCoding.ShortRegSpec = const0;
ConstantNIL: HandCoding.ConstSpec = HandCoding.const0;
Booleans (BOOL: TYPE = {FALSE, TRUE};)
FALSEValue: INT = 0;
FALSEByte: HandCoding.Lit8 = 0;
ShortFALSE: HandCoding.ShortRegSpec = const0;
ConstantFALSE: HandCoding.ConstSpec = HandCoding.const0;
TRUEValue: INT = 1;
TRUEByte: HandCoding.Lit8 = 1;
ShortTRUE: HandCoding.ShortRegSpec = const1;
ConstantTRUE: HandCoding.ConstSpec = HandCoding.const1;
Short register specifiers
ShorttopSrc: HandCoding.ShortRegSpec = topSrc;
ShortpopSrc: HandCoding.ShortRegSpec = popSrc;
}.