Этой командой совместно с последующей задается актуальный адрес знакоместа в указанной ранее строке. Тут нужно посмотреть на исходные данные: в (AD_LIN) у нас хранится уже высчитанный адрес начала строки, а в А - горизонтальная позиция знакоместа от 0 до 31. Дальше небольшая хитрость: адреса начала строк на экране выравнены по 32 (см. "строение экрана" в той же книге), и если перевести адрес начала любой строки в двоичный вид, то мы увидим, что "правые" 5 бит младшего байта адреса всегда будут равны нулю. А число в диапазоне от 0 до 31 занимает как раз пять бит. То есть, в данном случае получается, что командой OR L мы к горизонтальной позиции, которая хранится в А, прибавляем младший байт адреса строки. И следующей командой запихиваем его назад в L. А старший байт адреса, который хранится в H, - не изменяется.




Ответить с цитированием