1: /*
   2:  * Header for object code improver
   3:  */
   4: 
   5: #include <stdio.h>
   6: 
   7: #define JBR 1
   8: #define CBR 2
   9: #define JMP 3
  10: #define LABEL   4
  11: #define DLABEL  5
  12: #define EROU    7
  13: #define JSW 9
  14: #define MOV 10
  15: #define CLR 11
  16: #define COM 12
  17: #define INC 13
  18: #define DEC 14
  19: #define NEG 15
  20: #define TST 16
  21: #define ASR 17
  22: #define ASL 18
  23: #define SXT 19
  24: #define CMP 20
  25: #define ADD 21
  26: #define SUB 22
  27: #define BIT 23
  28: #define BIC 24
  29: #define BIS 25
  30: #define MUL 26
  31: #define DIV 27
  32: #define ASH 28
  33: #define XOR 29
  34: #define TEXT    30
  35: #define DATA    31
  36: #define BSS 32
  37: #define EVEN    33
  38: #define MOVF    34
  39: #define MOVOF   35
  40: #define MOVFO   36
  41: #define ADDF    37
  42: #define SUBF    38
  43: #define DIVF    39
  44: #define MULF    40
  45: #define CLRF    41
  46: #define CMPF    42
  47: #define NEGF    43
  48: #define TSTF    44
  49: #define CFCC    45
  50: #define SOB 46
  51: #define JSR 47
  52: #define END 48
  53: 
  54: #define JEQ 0
  55: #define JNE 1
  56: #define JLE 2
  57: #define JGE 3
  58: #define JLT 4
  59: #define JGT 5
  60: #define JLO 6
  61: #define JHI 7
  62: #define JLOS    8
  63: #define JHIS    9
  64: 
  65: #define BYTE    100
  66: #define LSIZE   512
  67: 
  68: struct node {
  69:     char    op;
  70:     char    subop;
  71:     struct  node    *forw;
  72:     struct  node    *back;
  73:     struct  node    *ref;
  74:     int labno;
  75:     char    *code;
  76:     int refc;
  77: };
  78: 
  79: struct optab {
  80:     char    *opstring;
  81:     int opcode;
  82: } optab[];
  83: 
  84: char    line[LSIZE];
  85: struct  node    first;
  86: char    *curlp;
  87: int nbrbr;
  88: int nsaddr;
  89: int redunm;
  90: int iaftbr;
  91: int njp1;
  92: int nrlab;
  93: int nxjump;
  94: int ncmot;
  95: int nrevbr;
  96: int loopiv;
  97: int nredunj;
  98: int nskip;
  99: int ncomj;
 100: int nsob;
 101: int nrtst;
 102: int nlit;
 103: 
 104: int nchange;
 105: int isn;
 106: int debug;
 107: int lastseg;
 108: char    *lasta;
 109: char    *lastr;
 110: char    *firstr;
 111: char    revbr[];
 112: char    regs[12][20];
 113: char    conloc[20];
 114: char    conval[20];
 115: char    ccloc[20];
 116: 
 117: #define RT1 10
 118: #define RT2 11
 119: #define FREG    5
 120: #define NREG    5
 121: #define LABHS   127
 122: #define OPHS    57
 123: 
 124: struct optab *ophash[OPHS];
 125: struct  node *nonlab();
 126: char    *copy();
 127: char    *sbrk();
 128: char    *findcon();
 129: struct  node *insertl();
 130: struct  node *codemove();
 131: char    *sbrk();
 132: char    *alloc();

Defined variables

ccloc defined in line 115; used 8 times
conloc defined in line 113; used 4 times
conval defined in line 114; used 2 times
curlp defined in line 86; used 8 times
debug defined in line 106; used 1 times
first defined in line 85; used 30 times
firstr defined in line 110; used 2 times
iaftbr defined in line 90; used 2 times
isn defined in line 105; used 1 times
lasta defined in line 108; used 5 times
lastr defined in line 109; used 4 times
lastseg defined in line 107; used 5 times
line defined in line 84; used 12 times
loopiv defined in line 96; used 2 times
nbrbr defined in line 87; used 2 times
nchange defined in line 104; used 19 times
ncmot defined in line 94; used 2 times
ncomj defined in line 99; used 2 times
njp1 defined in line 91; used 2 times
nlit defined in line 102; used 2 times
nredunj defined in line 97; used 2 times
nrevbr defined in line 95; used 2 times
nrlab defined in line 92; used 3 times
nrtst defined in line 101; used 2 times
nsaddr defined in line 88; used 7 times
nskip defined in line 98; used 2 times
nsob defined in line 100; used 2 times
nxjump defined in line 93; used 2 times
ophash defined in line 124; used 6 times
optab defined in line 82; used 2 times
redunm defined in line 89; used 2 times
regs defined in line 112; used 77 times
revbr defined in line 111; used 3 times

Defined struct's

node defined in line 68; used 110 times
optab defined in line 79; used 12 times

Defined macros

ADD defined in line 25; used 1 times
ADDF defined in line 41; used 1 times
ASH defined in line 32; used 1 times
ASL defined in line 22; used 1 times
ASR defined in line 21; used 1 times
BIC defined in line 28; used 3 times
BIS defined in line 29; used 2 times
BIT defined in line 27; used 2 times
BSS defined in line 36; used 3 times
BYTE defined in line 65; used 4 times
CBR defined in line 8; used 20 times
CFCC defined in line 49; used 2 times
CLR defined in line 15; used 4 times
CLRF defined in line 45; used 1 times
CMP defined in line 24; used 3 times
CMPF defined in line 46; used 1 times
COM defined in line 16; used 1 times
DATA defined in line 35; used 5 times
DEC defined in line 18; used 2 times
DIV defined in line 31; used 1 times
DIVF defined in line 43; used 1 times
DLABEL defined in line 11; used 2 times
END defined in line 52; used 4 times
EROU defined in line 12; used 3 times
EVEN defined in line 37; used 1 times
FREG defined in line 119; never used
INC defined in line 17; used 1 times
JBR defined in line 7; used 16 times
JEQ defined in line 54; used 2 times
JGE defined in line 57; used 2 times
JGT defined in line 59; used 2 times
JHI defined in line 61; used 2 times
JHIS defined in line 63; used 2 times
JLE defined in line 56; used 2 times
JLO defined in line 60; used 2 times
JLOS defined in line 62; used 2 times
JLT defined in line 58; used 2 times
JMP defined in line 9; used 5 times
JNE defined in line 55; used 3 times
JSR defined in line 51; used 1 times
JSW defined in line 13; used 4 times
LABEL defined in line 10; used 17 times
LABHS defined in line 121; used 4 times
LSIZE defined in line 66; used 2 times
MOV defined in line 14; used 2 times
MOVF defined in line 38; used 1 times
MOVFO defined in line 40; used 1 times
MOVOF defined in line 39; used 1 times
MUL defined in line 30; used 1 times
MULF defined in line 44; used 1 times
NEG defined in line 19; used 1 times
NEGF defined in line 47; used 1 times
NREG defined in line 120; used 15 times
OPHS defined in line 122; used 5 times
RT1 defined in line 117; used 36 times
RT2 defined in line 118; used 32 times
SOB defined in line 50; used 2 times
SUB defined in line 26; used 1 times
SUBF defined in line 42; used 1 times
SXT defined in line 23; used 2 times
TEXT defined in line 34; used 5 times
TST defined in line 20; used 8 times
TSTF defined in line 48; used 1 times
XOR defined in line 33; used 1 times

Usage of this include

c2.h used 2 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1259
Valid CSS Valid XHTML 1.0 Strict