Annotation of coherent/d/bin/db/i8086/i8086.h, revision 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.