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


Процедуры - часть 2


    сложение с двойной точностью, а передачу управления соответствующей
    процедуре.    Процессор выполняет команды процедуры, реализующей
    сложение.  Последняя команда процедуры является специальной
    командой для процедур и называется возвратом.  Команда возврата
    берет адрес, который был сохранен командой вызова и помещает его
    обратно в указатель команд.  Это заставляет программу вернуться к
    команде, следующей за вызовом процедуры.  Вызов процедуры как бы
    временно отводит течение программы в русло процедуры.  После
    выполнения процедуры выполнение возвращается к основной программе.
 
      Команды, которые обеспечивают выполнение процедуры - CALL и
    RETURN.  CALL - это переход на процедуру.  CALL сохраняет текущее
    значение указателя команд в специальном месте памяти.  Это
    сохраненное значение указателя команд является адресом возврата.
    Команда RETURN читает сохраненное значение указателя команд, поме-
    щает его в указатель команд процессора и возвращает управление в
    точку, следующую за командой CALL.    Пример на Фиг.    2.18 показывает
    процедуру, вызываемую из двух различных точек программы.
 
      Поскольку программа начинает свое выполнение с самого начала,
    она сразу же попадает на команду A1.  Команда CALL передает
    управление в точку SOBROUTINE.  Выполняя команду CALL, процессор
    в том числе сохраняет адрес точки A2.  После выполнения процедуры
    команда RET (от английского return - возврат) восстанавливает
    сохраненное значение A2.  Управление возвращается к главной
    программе.    Дальше в главной прграмме выполняется CALL в точке A3,
    что приводит к повторному выполнению подпрограммы.      На этот раз
    процессор сохраняет значение A4.  После выполнения процедуры во
    второй раз управление возвращается в A4.  Обратите внимание, что
    оба раза выполнялась одна процедура.  В первый раз возврат после ее
           Microsoft (R) Macro Assembler Version 5.00             5/11/80 16:25:59



- Начало -  - Назад -  - Вперед -



Книжный магазин