io.h

来自「一个C style Assembler的source code」· C头文件 代码 · 共 88 行

H
88
字号
typedef unsigned char byte;typedef unsigned short word;extern FILE *OutF;extern char InSeg;extern char **FileTab;extern int StartF, CurF;extern long Files;#define TYPES 5#define SEG_TYPES 3typedef struct Segment *Segment;extern struct Segment {   int Type:8, Rel:1;   word Line, File, Base, Size;   long Loc;} SegTab[], *SegP;extern unsigned long LOC;typedef struct Gap *Gap;extern struct Gap {   Segment Seg; word Offset, Size;} GapTab[], *GapP;typedef struct Symbol *Symbol;struct Symbol {   char *Name; word Index;   int Global:1, Defined:1, Address:1, Variable:1, Map:1;   Segment Seg; word Offset;   Symbol Next[1];};extern Symbol NIL;extern void SegInit(void);extern void StartSeg(byte Type, byte Rel, word Base);extern void EndSeg(void);extern void Space(word Rel);extern void PByte(byte B);extern void PString(char *S);extern void SymInit(void);extern char *CopyS(char *S);extern Symbol LookUp(char *Name);extern void RegInit(void);typedef enum {   RB = 1, RW, DB, DW, ORG, SEG, END, GLOBAL, EXTERN, INCLUDE, IF, ELSE,   EQU, SET, LCURL, RCURL, LPAR, COMMA, SEMI,   SYMBOL, STRING, NUMBER, DOLLAR,   RPAR, COLON, QUEST,   NOT, NOT_NOT, HIGH, LOW, PLUS, MINUS, MULT, DIV, MOD,   LT, LE, GT, GE, EQ, NE, AND_AND, OR_OR,   AND, XOR, OR, SHL, SHR, DOT, BY,   AT, POUND, REGISTER, TYPE, MNEMONIC} Lexical;extern Lexical OldL;typedef enum {   ACC, AB, CY, DPTR, PC, R0, R1, R2, R3, R4, R5, R6, R7} Register;typedef enum { CODE, XDATA, DATA, SFR, BIT } Type;extern char Text[]; extern int Value;extern Symbol Sym;extern char InExp, InSemi;extern int Line, StartLine;extern Lexical Scan(void);extern void ERROR(const char *Msg, ...);extern void FATAL(const char *Msg, ...);extern void CHECK(void);extern void *Allocate(unsigned Size);extern byte GetB(FILE *FP);extern word GetW(FILE *FP);extern unsigned long GetL(FILE *FP);extern void PutB(byte B, FILE *FP);extern void PutW(word W, FILE *FP);extern void PutL(unsigned long L, FILE *FP);extern void OpenF(char *Name);extern struct AddrCard {   long Lo, Hi; byte ReadOnly;} AddrTab[];

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?