typedef struct { char *label, *code, *op1, *op2, *op3, *comment; } CaslCode; typedef struct { char *label, *str; } StringTableEntry; #define NOP "NOP" #define LD "LD" #define ST "ST" #define LAD "LAD" #define ADDA "ADDA" #define SUBA "SUBA" #define ADDL "ADDL" #define SUBL "SUBL" #define AND "AND" #define OR "OR" #define XOR "XOR" #define CPA "CPA" #define CPL "CPL" #define SLA "SLA" #define SRA "SRA" #define SLL "SLL" #define SRL "SRL" #define JMI "JMI" #define JNZ "JNZ" #define JZE "JZE" #define JUMP "JUMP" #define JPL "JPL" #define JOV "JOV" #define PUSH "PUSH" #define POP "POP" #define CALL "CALL" #define RET "RET" #define SVC "SVC" #define START "START" #define END "END" #define DS "DS" #define DC "DC" #define IN "IN" #define OUT "OUT" #define RPUSH "RPUSH" #define RPOP "RPOP" #define GR0 "GR0" #define GR1 "GR1" #define GR2 "GR2" #define GR3 "GR3" #define GR4 "GR4" #define GR5 "GR5" #define GR6 "GR6" #define GR7 "GR7"