Графические устройства

         

Замена команды rep stosb на rep stosw



Пример 3.9. Замена команды rep stosb на rep stosw

shr ex, 01 ; уменьшаем количество точек в два раза
jnc @F ; -> обход следующей команды (stosb)
stosb ; запись дополнительной точки
@@: rep stosw ; основной цикл записи по два байта

Для записи кодов четырех точек при каждом обращении к видеопамяти нужно использовать команду rep stosd, предварительно уменьшив содержимое регистра сх в четыре раза. В тех случаях, когда содержимое сх не кратно четырем, надо дополнительно рисовать 1, 2 или 3 точки. Для упрощения выполняемых действий содержимое сх изменяется в два приема. Сначала оно уменьшается в два раза, и если получен признак переноса, то рисуется одна дополнительная точка. Затем оно повторно уменьшается в два раза и если опять получен признак переноса, то рисуются две дополнительные точки. После этого можно использовать команду rep stosd. Способ выполнения этих действий показан в примере 3.10.



Содержание раздела