Assembler для начинающих



Процедура Бэйсика BLOAD


      При первом способе подпрограмма на машинном языке добавляется к
    программе для интерпретатора Бэйсика. Пожалуй, использование
    интерпретатора Бейсика является наиболее распространенным методом
    написания программ для персональной ЭВМ. Подпрограмма на языке
    ассемблера, которую предполагается включить в разрабатываемую
    программу, довольно велика - более 100 байт. Ассемблерную процедуру
    такой длины трудно вставить в текст программы на языке Бейсик,
    способ, позволяющий сделать это будет рассмотрен в следующем
    примере.
 
      Функция, которую мы добавляем к программе на языке Бейсик
    позволяет выводить на принтер графические изображения. IBM PC
    снабжена графическими средствами. Графические команды позволяют
    программно управлять отдельными точками, выводимыми на принтер, во
    многом подобно тому, как в графическом режиме адаптер цветного
    дисплея дает программисту возможность управлять отдельными точками
    растра. На Фиг. 10.4 представлены графические команды, которые
    потребуются в рассматриваемом примере. Практически, графические
    функции реализуются на принтере через управляющие последователь-
    ности символов. Вместо символа в коде ASCII программа выдает на
    принтер служебный символ (27 в коде ASCII). Следующие за ним
    символы задают уже не символы для вывода на печать, а определенные
    действия принтера. Как видно из Фиг. 10.4, существуют команды для
    вывода на принтер изображения точки, в результате выполнения
    которых печатается определенная точка изображения.
 
            Команда           Действие
      ---------------------------------------------------------
       ESC + "3" + n                 Установка промежутка между
                                     строками n/216
       Esc + "K" +n1+n2+v1...vk    Печатать образы точек v1...vk
         (k = n1 + 256*n2)        как 480 точек поперек страницы
      ---------------------------------------------------------



Содержание  Назад  Вперед