📄 data.c
字号:
/* File data.c: 27-11-98 */
#pragma warning(disable : 4305)
#include <stdio.h>
#include "defs.h"
/* storage words */
SYMTAB symtab[SYMTBSZ]; // main symbol table
GLOBAL globcon[GLOBSIZE]; // global constants structure
char *sn2 = "1F9A46";
char *st = { "K3wtcoTdvPb'ihjilApJzbnq=b=&1HQDzJcIZD/jG73jWYLa3iT),q!h($t'#yEMXMqCrs5`cq<z*C`>1psfZ`n^4Qb3vjF#`iu4#ZwPQv5toTdvPApJz6S++yEMXMqCrsfZ`n^4Qb3vjF#`iu4#Z" } ;
int glbptr, rglbptr, locptr, gcptr;
int ws[WSTABSZ];
int *wsptr;
int swstcase[SWSTSZ];
int swstlab[SWSTSZ];
int swstp;
char litq[LITABSZ];
int litptr;
char macq[MACQSIZE];
int macptr;
char line[LINESIZE];
char mline[LINESIZE];
int lptr, mptr;
char globq[GLOBSIZE];
/* miscellaneous storage */
int nxtlab,
litlab,
stkp,
ncmp,
errcnt,
glbflag,
ctext,
cmode,
lastst;
FILE *input, *input2, *output;
FILE *inclstk[INCLSIZ];
int inclsp;
char fname[NAMESIZE];
struct t_stack stack[10];
char quote[2];
int cptr;
int *iptr;
int fexitlab;
int iflevel, skiplevel;
int errfile;
int cflag;
int lflag;
int nflag;
int uflag;
int iflag;
int errs;
int LeftPtr;
int rhs;
int osymptr; // previous symbol pointer
int funcptr; // pointer to the function being called
int nargs;
int CastType;
int LineNum; // source line number
char module[200]; // xlink MODULE name
int NegFlag; // preceeding minus sign
int FuncArgType; // the type, after possible casting, of this func arg
int Returning; // executing a "return"
int fptr; // pointer to current function
int PointerFlag;
int RHSisPntr; // right hand side of equate is pointer
int Indexing; // we are computing an array index
int LabelCount[LABELCOUNTMAX];
int PendingJump;
int StructureOffset; // if non-zero means processing an indexed structure
int Emitting; // true if code has been emitted
int TheIndex; // global constant value
int Loaded;
int FPdef; // processing a function pointer definition
int Constant; // true if the expression was a constant
int TheVal; // result of a constant expression in a structure index
int OrgFptr; // global pointer to the function being processed
char incname[200]; // an include file name
const char sss[][16] = {
103,117,61,62,68,119,90,40,191,159,179,141,141,8,97,220,
79,123,79,135,235,186,106,112,228,102,9,102,228,174,109,95,
44,168,19,210,45,232,114,228,140,57,9,145,163,211,129,8,
183,72,141,184,128,109,164,129,71,58,63,182,215,172,134,140,
92,143,199,22,234,94,111,149,240,214,45,29,180,49,35,248,
98,38,181,109,17,224,206,86,12,139,19,108,65,141,82,48,
152,62,138,146,226,15,44,113,217,206,123,44,225,165,22,204,
52,63,47,71,42,136,25,50,20,134,13,189,43,104,84,69,
132,218,213,224,223,134,76,86,76,210,215,157,211,227,216,44,
60,48,200,217,22,85,120,138,221,123,87,132,208,186,187,196,
29,175,182,20,49,124,196,234,89,177,144,62,44,234,189,100,
21,25,162,143,216,48,45,203,35,19,91,103,43,167,173,70,
78,213,178,236,109,16,202,182,183,214,112,219,202,177,191,95,
68,236,102,44,31,38,119,160,133,78,25,168,226,207,102,75,
47,146,149,142,166,217,200,128,183,186,200,17,225,27,210,61,
14,188,211,141,205,82,63,111,34,211,126,29,24,222,176,65,
140,94,73,64,52,147,45,109,91,113,230,93,130,74,235,27,
20,95,153,240,166,95,185,186,148,73,72,32,65,21,195,69,
77,32,125,252,175,57,102,143,145,217,78,166,36,90,159,71,
149,191,43,181,22,224,239,49,57,71,62,239,65,36,57,10,
157,58,11,213,90,217,92,118,185,156,16,213,225,171,29,16
};
int stkptr; // pointer into ldiw stack
int JustNumber;
int TheNumberIs;
int TheType; // the type of the last expression
int IfFlag; // processing an if statement
int InX;
int TheCast;
int JumpOutLabel; // label out of this bracket
int NoJump; // must not output the long jump
int SimplyTrue; // simple if (expresssion) case
int InInclude; // processing an include file
int CINTpushPending;
int StructIsIndexed; // flag structure as indexed
int ExtendWaiting; // a char sign extend is pending
int CallFunction; // we are calling a function
int RegPntr; // incrementing pointer during register variable initialisation
int NextReg; // next register to assign
int ArrayFlag; // processing an array
int ItemWasZero; // the last item processed by <primary> was the constant zero
int stkchk; // if true we check the stacks
int StkErrPort; // address of port to send stack error to
int StkErrBit[2]; // bit addresses 0=hardware, 1=software
int softstk, softstklimit;
int hardstk, hardstklimit;
int InMain;
int EndGlobal; // dynamic end of global variables
int EndLocal; // dynamic end of local variables
int TypeDef; // we're in a typdef
int JumpPending;
int Vtype;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -