|
|
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.