Annotation of coherent/d/bin/db/i8086/i8086.h, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.