【发布时间】:2018-10-18 02:56:12
【问题描述】:
0xa55a 在这里是什么意思?
代码:
*cp = (uint16_t) 0xA55A;
if (*cp != 0xA55A) { /* 0xa55a means that? */
cp = (uint16_t*) (KERNBASE + MONO_BUF);
addr_6845 = MONO_BASE;
}
【问题讨论】:
标签: 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;
}
【问题讨论】:
标签: c operating-system xv6
此代码测试cp 是否为可写地址以确定模式应为CGA 还是MONO。如果写入不起作用,那么我们就不能使用这部分内存。要写的东西(垃圾)应该是任意的。据我所知,它没有特殊含义。
在此之前,程序将cp 的值保存在was 中,这样垃圾就不会污染内存。
【讨论】: