|
|
1.1 ! root 1: /* ! 2: * Trace bit. ! 3: */ ! 4: #define TBIT 0x0100 ! 5: ! 6: /* ! 7: * Offsets into the users area. ! 8: */ ! 9: #define UREGOFF (02000-(sizeof (struct ureg))) ! 10: ! 11: /* ! 12: * Registers from the user area after a core dump. ! 13: */ ! 14: struct ureg { ! 15: int ur_bp; /* bp */ ! 16: int ur_di; /* di */ ! 17: int ur_si; /* si */ ! 18: int ur_ra; /* ra ? */ ! 19: int ur_es; /* es */ ! 20: int ur_cx; /* cx */ ! 21: int ur_dx; /* dx */ ! 22: int ur_ax; /* ax */ ! 23: int ur_bx; /* bx */ ! 24: int ur_ds; /* ds */ ! 25: int ur_sp; /* sp */ ! 26: int ur_ss; /* ss */ ! 27: int ur_id; /* id */ ! 28: int ur_ip; /* ip */ ! 29: int ur_cs; /* cs */ ! 30: int ur_fw; /* fw */ ! 31: }; ! 32: ! 33: /* ! 34: * Registers. ! 35: */ ! 36: typedef struct reg { ! 37: unsigned r_ax; /* Accumulator */ ! 38: unsigned r_bx; /* Base */ ! 39: unsigned r_cx; /* Count */ ! 40: unsigned r_dx; /* Data */ ! 41: unsigned r_sp; /* Stack pointer */ ! 42: unsigned r_bp; /* Base pointer */ ! 43: unsigned r_si; /* Source index */ ! 44: unsigned r_di; /* Destination index */ ! 45: unsigned r_cs; /* Code segment */ ! 46: unsigned r_ds; /* Data segment */ ! 47: unsigned r_ss; /* Stack segment */ ! 48: unsigned r_es; /* Extra segment */ ! 49: unsigned r_ip; /* Instruction pointer */ ! 50: unsigned r_fw; /* Status flags */ ! 51: } REG; ! 52: ! 53: /* ! 54: * Instruction table. ! 55: */ ! 56: typedef struct { ! 57: unsigned i_code; /* Code */ ! 58: unsigned i_mask; /* Mask */ ! 59: char *i_name; /* Name */ ! 60: } INS; ! 61: ! 62: /* ! 63: * Functions. ! 64: */ ! 65: char *putifmt(); ! 66: ! 67: /* ! 68: * Global symbols. ! 69: */ ! 70: extern int cacdata; /* Current word in cache */ ! 71: extern int cacaddr; /* Address of word in cache */ ! 72: extern int cacsegn; /* Segment number of word in cache */ ! 73: extern int sysflag; /* Executing a system call */ ! 74: extern BIN sin; /* Instruction after sys call */ ! 75: extern REG reg; /* General registers */ ! 76: ! 77: /* ! 78: * Tables. ! 79: */ ! 80: extern char *formtab[4][4]; /* Format table */ ! 81: extern char regitab[]; /* Register name table */ ! 82: extern char *regbtab[]; /* Byte register table */ ! 83: extern char *regwtab[]; /* Word register table */ ! 84: extern char *indmtab[]; /* Indirect mode table */ ! 85: extern char *jumptab[]; /* Jump table */ ! 86: extern char *sysitab[]; /* System call table */ ! 87: extern INS insrtab[]; /* Instruction table */ ! 88: extern INS fpinstab[]; /* 8087 Instruction table */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.