|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: #define eae 0 ! 4: ! 5: #define NCPS 8 ! 6: #define BSYM 01000 /* builtin symbol */ ! 7: #define USYM 04000 /* user symbol */ ! 8: ! 9: struct expr { ! 10: short typ; ! 11: short val; ! 12: }; ! 13: ! 14: typedef union { ! 15: struct expr *xp; ! 16: unsigned uv; ! 17: int v; ! 18: } OP; ! 19: ! 20: extern struct expr expres(); ! 21: extern OP readop(); ! 22: extern OP savop; ! 23: extern OP lastop; ! 24: ! 25: #define LAST(c) (lastop.v==(c)) ! 26: #define ISCHAR(x) ((x).uv<0200) ! 27: ! 28: struct hdr { ! 29: short magic; ! 30: short txtsiz; ! 31: short datsiz; ! 32: short bsssiz; ! 33: short symsiz; ! 34: short entry; ! 35: short flag; ! 36: short dummy; ! 37: }; ! 38: extern struct hdr hdr; ! 39: ! 40: #define T_UNDEF 0 ! 41: #define T_ABS 1 ! 42: #define T_TEXT 2 ! 43: #define T_DATA 3 ! 44: #define T_BSS 4 ! 45: #define T_FLOPD 5 ! 46: #define T_BRANCH 6 ! 47: #define T_JSR 7 ! 48: #define T_RTS 010 ! 49: #define T_SYS 011 ! 50: #define T_MOVF 012 ! 51: #define T_DOUBLE 013 ! 52: #define T_FLOPF 014 ! 53: #define T_SINGLE 015 ! 54: #define T_BYTE 016 ! 55: #define T_STRING 017 ! 56: #define T_EVEN 020 ! 57: #define T_IF 021 ! 58: #define T_ENDIF 022 ! 59: #define T_GLOBL 023 ! 60: #define T_REG 024 ! 61: #define T__TEXT 025 ! 62: #define T__DATA 026 ! 63: #define T__BSS 027 ! 64: #define T_MUL 030 ! 65: #define T_SOB 031 ! 66: #define T_COMM 032 ! 67: #define T_ESTTXT 033 ! 68: #define T_ESTDAT 034 ! 69: #define T_JBR 035 ! 70: #define T_JXX 036 ! 71: ! 72: #define T_EXTERN 040 ! 73: #define R_EXTERN 5 ! 74: #define PCREL 0100000 ! 75: ! 76: ! 77: extern short *dot; ! 78: extern short *dotdot; ! 79: extern short *dotrel; ! 80: extern short savdot[3]; ! 81: extern long tseek[2]; ! 82: extern long rseek[2]; ! 83: extern struct expr *curfb[20]; ! 84: extern struct expr *usymtab; ! 85: extern struct expr *usymend; ! 86: extern struct expr *xsymbol; ! 87: extern struct expr *fbbuf; ! 88: extern FILE *txtf,*relf; ! 89: extern char argb[20]; ! 90: extern int outmod; ! 91: extern int passno; ! 92: extern int errflg; ! 93: extern int line; ! 94: extern int ifflg; ! 95: extern int numval; ! 96: extern int brdelt;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.