00001
00002
00003
00004
00005
00006
00007
00008 union reg86 {
00009 struct l {
00010 u32_t ef;
00011 u32_t vec;
00012 u32_t _ds_es[1];
00013 u32_t eax;
00014 u32_t ebx;
00015 u32_t ecx;
00016 u32_t edx;
00017 u32_t esi;
00018 u32_t edi;
00019 u32_t ebp;
00020 } l;
00021 struct w {
00022 u16_t f, _ef[1];
00023 u16_t off, seg;
00024 u16_t ds, es;
00025 u16_t ax, _eax[1];
00026 u16_t bx, _ebx[1];
00027 u16_t cx, _ecx[1];
00028 u16_t dx, _edx[1];
00029 u16_t si, _esi[1];
00030 u16_t di, _edi[1];
00031 u16_t bp, _ebp[1];
00032 } w;
00033 struct b {
00034 u8_t intno, _intno[3];
00035 u8_t _vec[4];
00036 u8_t _ds_es[4];
00037 u8_t al, ah, _eax[2];
00038 u8_t bl, bh, _ebx[2];
00039 u8_t cl, ch, _ecx[2];
00040 u8_t dl, dh, _edx[2];
00041 u8_t _esi[4];
00042 u8_t _edi[4];
00043 u8_t _ebp[4];
00044 } b;
00045 };
00046
00047 struct reg86u { union reg86 u; };
00048
00049
00050
00051 struct mio_int86 {
00052 union reg86 reg86;
00053 u16_t off, seg;
00054 void *buf;
00055 size_t len;
00056 };
00057
00058 struct mio_ldt86 {
00059 size_t idx;
00060 u16_t entry[4];
00061 };