![]() |
中国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 |