! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! Use a K to indicate constant DECLARE LONG CONSTANT DST$K_LOCOMMAND = 0 ! Low value for range checking DECLARE LONG CONSTANT DST$K_STA_R00 = 0 ! Stack contents of R0 DECLARE LONG CONSTANT DST$K_STA_R01 = 1 ! Stack contents of R1 DECLARE LONG CONSTANT DST$K_STA_R02 = 2 ! Stack contents of R2 DECLARE LONG CONSTANT DST$K_STA_R03 = 3 ! Stack contents of R3 DECLARE LONG CONSTANT DST$K_STA_R04 = 4 ! Stack contents of R4 DECLARE LONG CONSTANT DST$K_STA_R05 = 5 ! Stack contents of R5 DECLARE LONG CONSTANT DST$K_STA_R06 = 6 ! Stack contents of R6 DECLARE LONG CONSTANT DST$K_STA_R07 = 7 ! Stack contents of R7 DECLARE LONG CONSTANT DST$K_STA_R08 = 8 ! Stack contents of R8 DECLARE LONG CONSTANT DST$K_STA_R09 = 9 ! Stack contents of R9 DECLARE LONG CONSTANT DST$K_STA_R10 = 10 ! Stack contents of R10 DECLARE LONG CONSTANT DST$K_STA_R11 = 11 ! Stack contents of R11 DECLARE LONG CONSTANT DST$K_STA_R12 = 12 ! Stack contents of R12 (AP) DECLARE LONG CONSTANT DST$K_STA_R13 = 13 ! Stack contents of R13 (FP) DECLARE LONG CONSTANT DST$K_STA_R14 = 14 ! Stack contents of R14 (SP) DECLARE LONG CONSTANT DST$K_STA_R15 = 15 ! Stack contents of R15 (PC) DECLARE LONG CONSTANT DST$K_STA_IMM_B = 16 ! Stack contents of byte operand ! sign extending to longword DECLARE LONG CONSTANT DST$K_STA_IMM_W = 17 ! Stack contents of word operand ! sign extending to longword DECLARE LONG CONSTANT DST$K_STA_IMM_L = 18 ! Stack contents of longword operand DECLARE LONG CONSTANT DST$K_OPR_ADD = 19 ! Pop two operands, add , ! stack longword result DECLARE LONG CONSTANT DST$K_STA_REP_B = 20 ! Pop top item and stack sign extended ! byte at that address DECLARE LONG CONSTANT DST$K_STA_REP_W = 21 ! Pop top item and stack sign extended ! word at that address DECLARE LONG CONSTANT DST$K_STA_REP_L = 22 ! Pop top item and stack longword at ! that address DECLARE LONG CONSTANT DST$K_OPR_STOP = 23 ! Terminate command string. Longword ! at top of stack contains address ! of data item. DECLARE LONG CONSTANT DST$K_HICOMMAND = 23 ! Hi value for range checking