%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$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_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX HFLOAT REAL_PART HFLOAT IMAGINARY_PART END RECORD %LET %BASIC$H_FLOATING_COMPLEX_DECL = 1 %END %IF ! + ! Define stack frame offsets as a separate structure SF$ ! - DECLARE LONG CONSTANT SF$M_C = x'00000001' DECLARE LONG CONSTANT SF$M_V = x'00000002' DECLARE LONG CONSTANT SF$M_Z = x'00000004' DECLARE LONG CONSTANT SF$M_N = x'00000008' DECLARE LONG CONSTANT SF$M_TBIT = x'00000010' DECLARE LONG CONSTANT SF$M_IV = x'00000020' DECLARE LONG CONSTANT SF$M_FU = x'00000040' DECLARE LONG CONSTANT SF$M_DV = x'00000080' DECLARE LONG CONSTANT SF$S_SFDEF = 24 record SFDEF LONG SF$A_HANDLER ! Adr. of handler or 0 if no handler group SF$R_SAVE_PSW_OVERLAY variant case WORD SF$W_SAVE_PSW ! saved PSW case group SF$R_SAVE_PSW_BITS ! carry ! overflow ! zero ! negative ! trace trap enable ! integer overflow enable ! floating underflow enable ! decimal overflow enable BYTE C_bits ! COMMENT ADDED BY SDL - C_bits contains bits C through DV end group SF$R_SAVE_PSW_BITS end variant end group SF$R_SAVE_PSW_OVERLAY group SF$R_SAVE_MASK_OVERLAY variant case WORD SF$W_SAVE_MASK ! saved register mask plus flags case group SF$R_SAVE_MASK_BITS ! register save mask ! MBZ ! 1 if CALLS ! SP offset WORD SAVE_MASK_bits ! COMMENT ADDED BY SDL - SAVE_MASK_bits contains bits SAVE_MASK through STACKOFFS end group SF$R_SAVE_MASK_BITS end variant end group SF$R_SAVE_MASK_OVERLAY LONG SF$L_SAVE_AP ! saved AP LONG SF$L_SAVE_FP ! saved FP LONG SF$L_SAVE_PC ! saved PC LONG SF$L_SAVE_REGS ! first register saved is saved here end record SFDEF