呆
呆非4
Unregistered / Unconfirmed
GUEST, unregistred user!
我用TC写了一个DOS程序,往BIOS区的0x0040:00f0处写10个数据。
(此区是保留区。)
开一个MS-DOS窗口,并运行这个程序,
在同一个MS-DOS窗口下再读出此区,则结果是我写入的数据。
如果再另开一个MS-DOS窗口,再读此区数据,则没有我写入的数据。
程序如下:
#include <stdio.h>
#include <conio.h>
void main(void)
{
char *ptr;
int i;
char *pp;
pp=(char *)0x004000f0l;
ptr=pp;
printf("/nBefore:");
for(i=0;i<16;i++) printf("%02X ",*ptr++);
ptr=pp;
for(i=0;i<16;i++)
{
*ptr=i+'0'; ptr++;
}
ptr=pp;
printf("/nAfter:");
for(i=0;i<16;i++) printf("%02X ",*ptr++);
}
(此区是保留区。)
开一个MS-DOS窗口,并运行这个程序,
在同一个MS-DOS窗口下再读出此区,则结果是我写入的数据。
如果再另开一个MS-DOS窗口,再读此区数据,则没有我写入的数据。
程序如下:
#include <stdio.h>
#include <conio.h>
void main(void)
{
char *ptr;
int i;
char *pp;
pp=(char *)0x004000f0l;
ptr=pp;
printf("/nBefore:");
for(i=0;i<16;i++) printf("%02X ",*ptr++);
ptr=pp;
for(i=0;i<16;i++)
{
*ptr=i+'0'; ptr++;
}
ptr=pp;
printf("/nAfter:");
for(i=0;i<16;i++) printf("%02X ",*ptr++);
}