<<
>>

Дополнительные средства управления трансляцией

Т ASM предоставляет средства для вывода текстового сообщения во время транс- ляции программы — директивы DISPLAY и %ОUТ. С их помощью можно при необхо- димости следить за ходом трансляции.
К примеру, 320 Глава 14. Макросредства языка ассемблера display недопустимые аргументы макрокоманды %оut недопустимое имя регистра В результате обработки этих директив на экран (стандартный выход) будут выведены тексты сообщений. Если эти директивы использовать совместно с ди- рективами условной компиляции, то, к примеру, можно отслеживать путь, по ко- торому осуществляется трансляция исходного текста программы. Можно предложить читателю уже с этого момента начать формировать набор полезных в его практической работе макрокоманд. В качестве основы вы можете взять файл mac.inc, который находится в каталоге данной главы среди файлов, при- лагаемых к книге[14]. В дальнейшем, если в этом возникнет необходимость, вы буде- те самостоятельно дополнять его вашими макросами. Использовать макроопреде- ления из этого файла очень просто: достаточно включить в нужном месте вашей программы строку с директивой include, в результате в ваш файл будут вставлены строки из файла, указанного в качестве операнда этой директивы.
Основная задача этой книги — научить вас программировать на языке ассемб- лера. Как вы уже успели понять, нельзя изучать этот язык в отрыве от рассмотре- ния процессов, происходящих во время выполнения программы на компьютере. Одно из средств изучения таких процессов — отладчик. Однако он решает пробле- му глобально, что нужно далеко не всегда. Тем более, как мы увидим далее, что возможности отладчика не безграничны. Поэтому необходимо иметь более уни- версальное средство, которое позволило бы «подглядывать» за содержимым реги- стра или области памяти динамически, во время выполнения программы. Для это- го разработаем еще один макрос и назовем его, к примеру, show.
Его аргументом может быть один из четырех регистров — AL, АН, АХ, ЕАХ. С помощью этого макроса можно визуализировать содержимое любого из доступных регистров или области памяти длиной до 32 битов. Для этого достаточно лишь переслать содержимое нуж- ного объекта (регистра или ячейки памяти) с учетом его размера в один из регист- ров AL, АН, АХ, ЕАХ. Имя одного из этих регистров указывается затем в качестве фактического аргумента макрокоманды show. Второй аргумент этого макроса — позиция на экране. Задавая определенные значения, мы можем судить о том, ка- кая именно макрокоманда show сработала. Еще одна немаловажная особенность данного макроса — в его возможности работать как в реальном, так и в защищен- ном режимах. Распознавание текущего режима работы процессора выполняется автоматически. Текст макроопределения show довольно велик и по этой причине находится среди прилагаемых к книге файлов в каталоге данной главы. Пример использования этого макроса приведен в листинге 14.6. Листинг 14.6. Пример использования макроса show ;рrg_14_6.аsm МАSМ MODEL small STACK 256 ,486р Include sfюw.iпс . data pole dd Зсdf4З6fh . code main: mоv ах,@dаtа mov ds, ах хоr ах,ах mоv ах, lf 0f h show аl,О show аh,160 show ах,320 mоv еах,pole show еах,480 exit: mоv ах,4с00h iпt 21h end main Посвятить время рассмотрению этого макроса полезно еще и потому, что при его разработке было использовано большинство средств, обсуждавшихся в этой главе.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Дополнительные средства управления трансляцией:

  1. Трансляция телепрограмм
  2. Статья 1040. Обращение взыскания на имущество, переданное в управление, по требованию кредитора установщика управления
  3. Статья 306. Использование средств, полученных от незаконного оборота наркотических средств, психотропных веществ, их аналогов или прекурсоров
  4. § 3. Право управления предприятием как особый вид абсолютных прав. Право полного и ограниченного управления (п. 1774-1776)
  5. УПРАВЛЕНИЕ ВРЕМЕНЕМ VERSUS УПРАВЛЕНИЕ СОБОЙ
  6. § 3. Средства записи и средства связи
  7. Статья 921. Ответственность перевозчика за непредоставление транспортного средства и ответственность отправителя за неиспользование предоставленного транспортного средства
  8. § 4. Правопреемство как следствие приобретения права управления предприятием. Условия отчуждения и приобретения права управления предприятием (п. 1777-1782)
  9. §16. ОБЩЕСТВО С ДОПОЛНИТЕЛЬНОЙ ОТВЕТСТВЕННОСТЬЮ
  10. Дополнительная литература
  11. 50. Общество с дополнительной ответственностью
  12. 4. Общество с дополнительной ответственностью
  13. 3. Общество с дополнительной ответственностью
  14. Дополнительная