blackmirror, интересный вариант. Есть замечания.

Цитата Сообщение от blackmirror Посмотреть сообщение
PT = 1 SHL (X1&7) //вычисляем маску точки
ER = 0 //устанавливаем ошибку в ноль
Старший бит на экране находится слева, поэтому надо PT = 80h SHR (X1&7),
и ошибку надо в половину смещения: ER = MIN(DX, DY) DIV 2, иначе, линия будет ниже настоящей и последовательные линии будут с длинными ступеньками на стыках.