При построении рисунка используются следующие новые переменные, которые должны быть описаны в разделе данных. Первые четыре из них являются параметрами подпрограммы.
SwpOf fs | dw 0 | адрес (смещение) в буфере обмена |
SwpSeg | dw 0 | значение сегмента, содержащего буфер обмена |
iwidth | dw 0 | ширина строки рисунка |
iheight | dw 0 | количество строк в рисунке |
numbyte | dw 0 | количество байтов в считываемой порции данных |
part | dw 0 | количество строк в считываемой порции данных |
remline | dw 0 | остающееся не выведенным количество строк |
Переменные Swpoffs и Swpseg указывают полный адрес буфера обмена, в который считываются данные из файла. Как резервируется пространство оперативной памяти, описано в приложении Б данной книги. Значения переменных iwidth и iheight получаются при обработке заголовка файла, содержащего образ строящегося рисунка. Значения переменных numbyte, part и remline формирует сама подпрограмма BigDraw.
Текст подпрограммы, выполняющей построение рисунка произвольного размера, приведен в примере 3.22. Перед ее вызовом в регистре di надо указать адрес левой верхней точки рисунка в видеопамяти и установить окно, которому принадлежит этот адрес. Напоминаем, что регистр es должен содержать код видеосегмента (содержимое переменной vbuff).