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

📄 intr.h

📁 这个版本修正了已知的Bug,同时添加了部分函数
💻 H
字号:
#include<dos.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<bios.h>

short _ax,_bx,_cx,_dx;
int   _eax,_ebx,_ecx,_edx,_esi,_edi;
short _ss,_ds,_es,_cs,_si,_di;

 void _EAX();
 void _EBX();
 void _ECX();
 void _EDX();
 void   _AX();
 void   _BX();
 void   _CX();
 void   _DX();

 void __EAX();
 void __EBX();
 void __ECX();
 void __EDX();
 void   __AX();
 void   __BX();
 void   __CX();
 void   __DX();

 void   _SS();
 void   _ES();
 void   _CS();
 void   _DS();
 void   _SI();
 void   _DI();
 void   _ESI();
 void   _EDI();

 void   __SS();
 void   __ES();
 void   __CS();
 void   __DS();
 void   __SI();
 void   __DI();
 void   __ESI();
 void   __EDI();

 void   regread(union REGS *R);

#pragma aux _EAX=\
"mov _eax,eax";

#pragma aux _EBX=\
"mov _ebx,ebx";

#pragma aux _ECX=\
"mov _ecx,ecx"

#pragma aux _EDX=\
"mov _edx,edx"

#pragma aux _AX=\
"mov _ax,ax"

#pragma aux _BX=\
"mov _bx,bx"

#pragma aux _CX=\
"mov _cx,cx"

#pragma aux _DX=\
"mov _dx,dx"


#pragma aux __EAX=\
"mov eax,_eax";

#pragma aux __EBX=\
"mov ebx,_ebx";

#pragma aux __ECX=\
"mov ecx,_ecx"

#pragma aux __EDX=\
"mov edx,_edx"

#pragma aux __AX=\
"mov ax,_ax"

#pragma aux __BX=\
"mov bx,_bx"

#pragma aux __CX=\
"mov cx,_cx"

#pragma aux __DX=\
"mov dx,_dx"


#pragma aux _SS=\
"mov _ss,ss"

#pragma aux _CS=\
"mov _cs,cs"

#pragma aux _DS=\
"mov _ds,ds"

#pragma aux _ES=\
"mov _es,es"

#pragma aux _SI=\
"mov _si,si"

#pragma aux _DI=\
"mov _di,di"

#pragma aux _ESI=\
"mov _esi,esi"

#pragma aux _EDI=\
"mov _edi,edi"


#pragma aux __SS=\
"mov ss,_ss"

#pragma aux __CS=\
"mov cs,_cs"

#pragma aux __DS=\
"mov ds,_ds"

#pragma aux __ES=\
"mov es,_es"

#pragma aux __SI=\
"mov si,_si"

#pragma aux __DI=\
"mov di,_di"

#pragma aux __ESI=\
"mov esi,_esi"

#pragma aux __EDI=\
"mov edi,_edi"


void regread(union REGS *R)
{_AX();_BX();_CX();_DX();
 _EAX();_EBX();_ECX();_EDX();
R->x.eax=_eax;
R->x.ebx=_ebx;
R->x.ecx=_ecx;
R->x.edx=_edx;
R->w.ax=_ax;
R->w.bx=_bx;
R->w.cx=_cx;
R->w.dx=_dx;
}

void regwrite(union REGS *R)
{
_eax=R->x.eax;
_ebx=R->x.ebx;
_ecx=R->x.ecx;
_edx=R->x.edx;
_ax=R->w.ax;
_bx=R->w.bx;
_cx=R->w.cx;
_dx=R->w.dx;
_esi=R->x.esi;
_edi=R->x.edi;
_di=R->w.di;
_si=R->w.si;
__AX();__BX();__CX();__DX();
__EAX();__EBX();__ECX();__EDX();
__ESI();__EDI();__SI();__DI();
}

void sregwrite(struct SREGS *sr)
{_ds=sr.ds;
 _es=sr.es;
 _cs=sr.cs;
 _ss=sr.ss;
 _fs=sr.fs;
 _gs=sr.gs;
__DS();__ES();__CS();__SS();
}

⌨️ 快捷键说明

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