当前位置: 技术问答>linux和unix
问题很急!!关于dos下的某个中断功能在linux下实现??有具体实例
来源: 互联网 发布时间:2015-07-04
本文导语: DWORD Get_RamSize( void ) { DWORD size=0; double sz,tmp; union REGS regs; regs.x.ax = 0xe801; int86(0x15,®s,®s); sz = regs.x.bx; sz *= 64; sz += 16384; sz /= 1024; tmp = (double)((DWORD)sz); if(fmod(sz,tmp)) { sz++; } size = (DWORD)sz; ...
DWORD Get_RamSize( void )
{
DWORD size=0;
double sz,tmp;
union REGS regs;
regs.x.ax = 0xe801;
int86(0x15,®s,®s);
sz = regs.x.bx;
sz *= 64;
sz += 16384;
sz /= 1024;
tmp = (double)((DWORD)sz);
if(fmod(sz,tmp))
{
sz++;
}
size = (DWORD)sz;
//printf("size(%ld) = ax:%x bx:%x cx:%x dx:%xn",size,regs.x.ax,regs.x.bx,regs.x.cx,regs.x.dx);
return size;
}
这一段代码要求移植到Linux下,但是中断再Linux下是行不通的,只有通过c语言将其实现!高手,帮帮忙,指点一下!
{
DWORD size=0;
double sz,tmp;
union REGS regs;
regs.x.ax = 0xe801;
int86(0x15,®s,®s);
sz = regs.x.bx;
sz *= 64;
sz += 16384;
sz /= 1024;
tmp = (double)((DWORD)sz);
if(fmod(sz,tmp))
{
sz++;
}
size = (DWORD)sz;
//printf("size(%ld) = ax:%x bx:%x cx:%x dx:%xn",size,regs.x.ax,regs.x.bx,regs.x.cx,regs.x.dx);
return size;
}
这一段代码要求移植到Linux下,但是中断再Linux下是行不通的,只有通过c语言将其实现!高手,帮帮忙,指点一下!
|
你这个中断完成什么功能?