xv6源码中cga_init()中的0xa55a是什么意思?
What does 0xa55a mean in cga_init() in xv6 source code?
这里的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
中,这样垃圾就不会毒害内存。
这里的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
中,这样垃圾就不会毒害内存。