中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 15:32
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » C+汇编(程序有错误) 查看 788 回复 0
楼 主 C+汇编(程序有错误) 发表于 2007-02-17 05:15 ·  中国 广西 贵港 电信
新手上路
积分 4
发帖 1
注册 2006-08-22 11:55
19年会员
UID 61021
状态 离线
帮看一下这个程序哪里有错,怎么改

#include<dos.h>
#include<stdio.h>
#include<stdlib.h>
void main(void)
{union REGS inregs,outregs;
struct SREGS segs;

void far handler(void);
unsigned old_segment,old_offset;
inregs.x.ax=0x3505;
intdosx(&inregs,&outregs,&segs);
old_segment=segs.es;
old_offset=outregs.x.bx;
inregs.x.ax=0x2505;
inregs.x.dx=FP_OFF(&handler);
segs.ds=FP_SEG(&handler);
intdosx(&inregs,&outregs,&segs);
While(getchar()!='\n');
{inregs.x.ax=0x2505;
inregs.x.dx=old_offset;
segs.ds=old_segment;
intdosx(&inregs,&outregs,&segs);}
}
void handler(void)
{
_asm(
PUSH AX
PUSH BX
MOV AH,OEH
MOV AL,7
MOV BX,0
INT 10H
POP BX
POP AX
POP BP
IRET
)
}
论坛跳转: