Иллюстрированный самоучитель по Assembler


         

в том, что строки текста


Запустив программу, можно убедиться в том, что строки текста появляются на экране через заметные промежутки времени.

В примере 3-8 подпрограмма не требовала параметров. Чаще, однако, подпрограмма должна принимать один или несколько параметров и возвращать результат. В этом случае необходимо организовать взаимодействие основной программы и подпрограммы. Никаких специальных средств языка для этого не существует; передачу параметров в подпрограмму и из нее программист организует по своему усмотрению. Для передачи параметров как в одну, так и в другую сторону можно использовать регистры общего назначения, ячейки памяти или стек. Например, нетрудно преобразовать подпрограмму delay из примера 3-8 так, чтобы ей можно было передавать величину требуемой задержки. Пусть эта величина (в числе шагов внешнего цикла) передается в регистре SI.
Пример 3-8а. Подпрограмма задержки с одним параметром, передаваемом в регистре SI
delay proc                ;Процедура- подпрограмма
push CX                   ;Сохраним СХ основной программы
mov CX,SI                ;Счетчик внешнего цикла
del1: push CX          ;Сохраним его
mov CX,0                 ;Счетчик внутреннего цикла
del2: loop del2        ;Внутренний цикл (64К шагов)
pop CX                    ;Восстановим внешний счетчик
loop del1                 ;Внешний цикл (2000 шагов)
pop CX                   ;Восстановим СХ программы

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