中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 20:41
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » C+汇编(程序有错误)
可打印版本  843 / 0
第1楼 jimmyshenghua 发表于 2007-02-17 05:15
新手上路 发帖 1 积分 4
C+汇编(程序有错误)
帮看一下这个程序哪里有错,怎么改

#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
)
}
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023