关于 DOS 下动态访问 CMOS 的问题
程序代码:#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
int show(void)
{
int i;
int j=0;
int port=0x70;
unsigned char temp;
printf("Device:cmos:\n");
printf(" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F\n");
printf("0%X",j);
for(i=0;i<256;i++)
{
outp(port,i);
temp=inp(port+1);
if(temp<15)
{
printf(" ");
printf("0%X",temp);
}
else
{
printf(" ");
printf("%X",temp);
}
if((i+1)%16==0)
{
printf("\n");
j++;
printf("0%X",j);
}
}
//system("pause");
return(0);
}
int main()
{
while(1)
{
system("cls");
show();
sleep(1);
}
}
以上是我编写的程序,静态访问是正确的,但是加了个sleep之后,就出现一些错误。不知道怎么发图就描述下,除始终内存外,有几个内存中的信息会跳变,求助高手,该怎么改









