0xa55a在xv6源代码中的cga_init()中是什么意思?

时间:2018-10-18 02:56:13

标签: c operating-system xv6

0xa55a在这里是什么意思?

代码:

*cp = (uint16_t) 0xA55A;   
if (*cp != 0xA55A) {      /* 0xa55a means that? */
cp = (uint16_t*) (KERNBASE + MONO_BUF);
    addr_6845 = MONO_BASE;
} 

1 个答案:

答案 0 :(得分:4)

此代码测试cp是否为可写地址,以确定该模式是CGA还是MONO。如果写不起作用,那么我们将无法使用这部分内存。要写的东西(垃圾)应该是任意的。据我了解,它没有没有特殊含义

在此之前,程序会将值保存在cp中的was处,以使垃圾不会污染内存。