中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-01 18:40
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行
DOS开发编程 & 发展交流 (开发室) » 怎样在C语言中实现软关机或重新启动?
可打印版本  1,600 / 13
第1楼 profree 发表于 2004-06-30 00:00
中级用户 发帖 132 积分 478
怎样在C语言中实现软关机或重新启动?
如题,我现在急着要,
第2楼 boblhh9999 发表于 2004-07-01 00:00
中级用户 发帖 74 积分 316
在TC20中实现计算机启动的方法:
unsigned char code={0xea,0x0,0x0,0xff,0xff};
( *(void(far *)())code )(); //启动计算机
第3楼 leoweight 发表于 2004-07-01 00:00
初级用户 发帖 2 积分 104
楼上的大哥好高深呀
第4楼 boblhh9999 发表于 2004-07-03 00:00
中级用户 发帖 74 积分 316
这是夸我还是糗我???
资料来源转贴
第5楼 wks_love 发表于 2004-07-05 00:00
中级用户 发帖 31 积分 248
这是什么意思啊?我怎么满眼的 括号和乱码!啥意思啊?
你怎么能把这背下来的?
第6楼 zoologist 发表于 2004-07-06 00:00
初级用户 发帖 5 积分 115
开玩笑~怎么可能!
第7楼 TurboY 发表于 2004-07-07 00:00
中级用户 发帖 99 积分 322 来自 湖北
重启可用嵌入汇编asm jmp far 0ffffh:0000或调用INT19H
关机不清楚,应和ACPI的BIOS功能有关。
第8楼 zk88 发表于 2004-07-07 00:00
初级用户 发帖 10 积分 130
以下是引用boblhh9999在2004-7-1 上午 02:19:07的发言:
在TC20中实现计算机启动的方法: 
           unsigned char code={0xea,0x0,0x0,0xff,0xff}; 
           ( *(void(far *)())code&nbsp(); //启动计算机


完整代码 tc2.0 passed
unsigned char code={0xea,0x0,0x0,0xff,0xff};
main()
{
( *(void(far *)())code )(); //启动计算机
}
注:纯DOS下一运行即重启
第9楼 profree 发表于 2004-07-07 00:00
中级用户 发帖 132 积分 478
真是厉害,谢谢
第10楼 xy_god 发表于 2004-07-08 00:00
中级用户 发帖 56 积分 276
以下是引用boblhh9999在2004-7-1 上午 02:19:07的发言:
在TC20中实现计算机启动的方法: 
           unsigned char code={0xea,0x0,0x0,0xff,0xff}; 
           ( *(void(far *)())code&nbsp(); //启动计算机

{0xea,0x0,0x0,0xff,0xff}这个估计是一串实现重新启动的机器代码,
而*(void(far *)())code则是跳转到上述机器代码处执行,由于
不在同一段内,所以要用far来修饰。原理应该是这个样子吧?
第11楼 boblhh9999 发表于 2004-07-14 00:00
中级用户 发帖 74 积分 316
10楼解释的很明白,惭愧我只会使用,没能解释明白
第12楼 笑傲江湖 发表于 2004-07-31 00:00
初级用户 发帖 61 积分 271
{0xea,0x0,0x0,0xff,0xff}汇编释义:0xea-JMP 跳转指令0x0,0x0-0000h,偏移地址0xff,0xff-ffffh,基地址合起来就是:asm jmp far 0ffff:0000乱猜的,不要当真!
第13楼 qb45 发表于 2004-08-01 00:00
高级用户 发帖 194 积分 677
用qb一句搞定OUT &H64, &HFE
第14楼 henrya2 发表于 2006-02-25 21:21
中级用户 发帖 171 积分 486
为什么要用缓冲区溢出呢,直接调用中断不是很好吗
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023