|
|
researchv10 Norman
#include <stdio.h>
#define eae 0
#define NCPS 8
#define BSYM 01000 /* builtin symbol */
#define USYM 04000 /* user symbol */
struct expr {
short typ;
short val;
};
typedef union {
struct expr *xp;
unsigned uv;
int v;
} OP;
extern struct expr expres();
extern OP readop();
extern OP savop;
extern OP lastop;
#define LAST(c) (lastop.v==(c))
#define ISCHAR(x) ((x).uv<0200)
struct hdr {
short magic;
short txtsiz;
short datsiz;
short bsssiz;
short symsiz;
short entry;
short flag;
short dummy;
};
extern struct hdr hdr;
#define T_UNDEF 0
#define T_ABS 1
#define T_TEXT 2
#define T_DATA 3
#define T_BSS 4
#define T_FLOPD 5
#define T_BRANCH 6
#define T_JSR 7
#define T_RTS 010
#define T_SYS 011
#define T_MOVF 012
#define T_DOUBLE 013
#define T_FLOPF 014
#define T_SINGLE 015
#define T_BYTE 016
#define T_STRING 017
#define T_EVEN 020
#define T_IF 021
#define T_ENDIF 022
#define T_GLOBL 023
#define T_REG 024
#define T__TEXT 025
#define T__DATA 026
#define T__BSS 027
#define T_MUL 030
#define T_SOB 031
#define T_COMM 032
#define T_ESTTXT 033
#define T_ESTDAT 034
#define T_JBR 035
#define T_JXX 036
#define T_EXTERN 040
#define R_EXTERN 5
#define PCREL 0100000
extern short *dot;
extern short *dotdot;
extern short *dotrel;
extern short savdot[3];
extern long tseek[2];
extern long rseek[2];
extern struct expr *curfb[20];
extern struct expr *usymtab;
extern struct expr *usymend;
extern struct expr *xsymbol;
extern struct expr *fbbuf;
extern FILE *txtf,*relf;
extern char argb[20];
extern int outmod;
extern int passno;
extern int errflg;
extern int line;
extern int ifflg;
extern int numval;
extern int brdelt;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.