精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>○ DOS>>工具箱>>处理CMOS的程序

主题:处理CMOS的程序
发信人: yangcs()
整理人: yangcs(2000-01-21 14:09:28), 站内信件
    我懒,经常用DEBUG做的事我就用C做。只要随便用一个文件的内容写到
CMOS中,嘿嘿。
    前几天发表了我的程序的说明书,只有3个人要,我就弄了3个功能。
    现在我在弄俩,下面是读CMOS:(现在可能不好使)

# define CMOSN 1024  /*  足够大  */
# include <bios.h>
# include <dos.h>
# include <stdio.h>
main()
{
int i,j;
FILE *p;
unsigned char s[CMOSN];
char f[100];
puts("Read CMOS Name:");
gets(f);
if((p=fopen(f,"w"))==NULL)
  {
  puts("error open file");
  exit(1);
  }
for(i=0;i<CMOSN;i++)
{
outportb(0x70,i);
s[i]=inportb(0x71);
}
if(fwrite(s,1,CMOSN,p)<=0)
{
puts("file write error");
sleep(2);
exit(1);
}
fclose(p);
puts("yes");
}

写CMOS:
# define CMOSN 1024
# include <bios.h>
# include <dos.h>
# include <stdio.h>
main()
{
int i,j;
FILE *p;
unsigned char s[CMOSN];
char f[100];
puts("Write CMOS Name:");
gets(f);
if((p=fopen(f,"r"))==NULL)
  {
  puts("error open file");
  exit(1);
  }
if(fread(s,1,CMOSN,p)!=CMOSN)
   {
   puts("file write error");
   sleep(2);
   exit(1);
   }
for(i=CMOSN-1;i>=0;i--)
   {
   outportb(0x70,i);
   outportb(0x71,s[i]);
   }
fclose(p);
puts("yes");
}

如果写的时候文件名为如C:\COMMAND.COM。

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.78.211]

[关闭][返回]