这里0xa55a
是什么意思?
代码:
*cp = (uint16_t) 0xA55A;
if (*cp != 0xA55A) { /* 0xa55a means that? */
cp = (uint16_t*) (KERNBASE + MONO_BUF);
addr_6845 = MONO_BASE;
}
最佳答案
此代码测试cp
是否为可写地址,以确定模式应为CGA还是MONO。如果书写不起作用,我们就不能使用这部分记忆。要写的东西(垃圾)应该是任意的。据我所知,它没有特别的意义。
在此之前,程序在cp
中保存was
处的值,这样垃圾就不会毒害内存。