⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dpmi.h

📁 freedos32的源代码
💻 H
字号:
#ifndef __FD32_DPMI_H#define __FD32_DPMI_H/* Carry Flag set/clear macros */#define SET_CARRY   r->d.flags |= 0x0001#define CLEAR_CARRY r->d.flags &= 0xFFFFFFFE/* DPMI error codes */#define DPMI_DESCRIPTOR_UNAVAILABLE   0x8011#define DPMI_INVALID_SELECTOR         0x8022union regs {  struct {    DWORD dummy0_1;    DWORD dummy0_2;    DWORD egs;    DWORD efs;    DWORD ees;    DWORD ess;    DWORD eds;    DWORD edi;    DWORD esi;    DWORD ebp;    DWORD esp;    DWORD ebx;    DWORD edx;    DWORD ecx;    DWORD eax;    DWORD eip;    DWORD ecs;    DWORD flags;  } d;  struct {    DWORD dummy0_1;    DWORD dummy0_2;    WORD gs, dummy1;    WORD fs, dummy2;    WORD es, dummy3;    WORD ss, dummy4;    WORD ds, dummy5;    WORD di, di_hi;    WORD si, si_hi;    WORD bp, bp_hi;    WORD sp, sp_hi;    WORD bx, bx_hi;    WORD dx, dx_hi;    WORD cx, cx_hi;    WORD ax, ax_hi;    WORD ip, ip_hi;    WORD cs, dummy6;    WORD flags, eflags;  } x;  struct {    DWORD dummy0_1;    DWORD dummy0_2;    BYTE egs[4];    BYTE efs[4];    BYTE ees[4];    BYTE ess[4];    BYTE eds[4];    BYTE edi[4];    BYTE esi[4];    BYTE ebp[4];    BYTE esp[4];    BYTE bl, bh, ebx_b2, ebx_b3;    BYTE dl, dh, edx_b2, edx_b3;    BYTE cl, ch, ecx_b2, ecx_b3;    BYTE al, ah, eax_b2, eax_b3;    BYTE eip[4];    BYTE ecs[4];    BYTE flags[4];  } h;};extern inline void dpmi_return(int res, union regs *r){  r->x.ax = res;  if (res < 0) {    SET_CARRY;  } else {    CLEAR_CARRY;  }}#endif /* __FD32_DPMI_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -