软件注册站
热情软件屋

 
用Turbo c怎样编程才能让计算机重新启动
编号: QA003162    
建立日期: 2000年7月16日 最后修改日期: 2004年9月5日
所属类别: C/C++ - 其他方面
   
    操作系统:DOS
    编程工具:TC
    问题:DOS下用turbo c2.0怎样编程,才能让计算机重新启动和自动关机(就像win95的自动关机功能)。(Machine 209)
   
    在TC20中实现计算机启动的方法:
     unsigned char code[]={0xea,0x0,0x0,0xff,0xff};
     ( *(void(far *)())code )(); //启动计算机
    这段代码中0xea是跳转指令jmp far的机器码,FFFF:0000是系统的复位程序所在地址。这段代码的意思就是跳转到FFFF:0000执行系统的复位程序。
    这段代码只适用于DOS下,请勿在Windows下使用。
    
    晨光的意见:
    我初学Tc!请问far*是什么意思??
    :在DOS下,所有地址都可以表示为“段:段内偏移量”的方式,即XXXX:XXXX。如果在段内部进行操作使用near指针,即段采用当前的数据段,而指针地址为段内偏移量,这样通常更快些,但是所能表示的地址范围有限。为了表示更广的范围,可以使用far*(远指针),就是不管当前的数据段是什么,采用XXXX:XXXX的方式指明地址。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 其他方面,

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio