0xa55a
在这里是什么意思?
代码:
*cp = (uint16_t) 0xA55A;
if (*cp != 0xA55A) { /* 0xa55a means that? */
cp = (uint16_t*) (KERNBASE + MONO_BUF);
addr_6845 = MONO_BASE;
}
答案 0 :(得分:4)
此代码测试cp
是否为可写地址,以确定该模式是CGA还是MONO。如果写不起作用,那么我们将无法使用这部分内存。要写的东西(垃圾)应该是任意的。据我了解,它没有没有特殊含义。
在此之前,程序会将值保存在cp
中的was
处,以使垃圾不会污染内存。