关于 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之后,就出现一些错误。不知道怎么发图就描述下,除始终内存外,有几个内存中的信息会跳变,求助高手,该怎么改