Что означает 0xa55a в cga_init () в исходном коде xv6? - PullRequest
0 голосов
/ 18 октября 2018

Что означает 0xa55a здесь?

Код:

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

1 Ответ

0 голосов
/ 18 октября 2018

Этот код проверяет, является ли cp записываемый адрес, чтобы определить, должен ли режим быть CGA или MONO.Если запись не работает, мы не можем использовать эту часть памяти.То, что нужно написать (мусор), должно быть произвольным.Насколько я знаю, оно не имеет особого значения .

Перед этим программа сохраняет значение в cp в was, чтобы мусор не отравлял память.

...