# Flags: # S: has size (use in CONST1, CONST2, CONST4, CONST8 forms) # V: has no size (use in JUMP, CJUMP, RET forms) # Simple terminals S CONST # must be followed by float form S CONSTF V REG V NOP S LABEL S BLOCK V PAIR S ANY S LOCAL V PHI # Magic stack operations S PUSH S POP # must be followed by float form S POPF #... Memory operations S LOAD # must be followed by float form S LOADF S STORE S STOREF # Arithemetic operations S ADD S SUB S MUL S DIV S DIVU S MOD S NEG S ADDF S SUBF S MULF S DIVF S NEGF S AND S OR S EOR S NOT S ASL S ASR S LSL S LSR # Conversions S CII1 S CII2 S CII4 S CII8 S CIU1 S CIU2 S CIU4 S CIU8 S CUI1 S CUI2 S CUI4 S CUI8 S CFI1 S CFI2 S CFI4 S CFI8 S CIF1 S CIF2 S CIF4 S CIF8 S CFF1 S CFF2 S CFF4 S CFF8 # Tristate comparisons S COMPARES1 S COMPARES2 S COMPARES4 S COMPARES8 S COMPAREU1 S COMPAREU2 S COMPAREU4 S COMPAREU8 S COMPAREF1 S COMPAREF2 S COMPAREF4 S COMPAREF8 # Boolean comparisons S IFEQ S IFLT S IFLE # Procedures V CALL # Flow control --- these never return V JUMP V CJUMPEQ V CJUMPLT V CJUMPLE V RET # Special S STACKADJUST S GETRET S SETRET S GETFP S GETSP S SETSP S CHAINFP S FPTOARGS