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


Пример 3-8. Вызов подпрограммы без параметров - часть 7


push 2000 ;Проталкиваем в стек значение параметра


call delay ;Вызываем подпрограмму delay

Текст подпрограммы подвергнется значительным изменениям:

Пример 3-8в. Передача параметра через стек

delay proc                 ;Процедура-подпрограмма 

push CX                    ;Сохраним СХ основной программы

push BP                    ;Сохраним BP

mov BP,SP                ;Настроим BP на текущую вершину стека

mov CX, [BP+6]        ;Скопируем из стека параметр

del1:  push CX          ;Сохраним его

mov CX,0                  ;Счетчик внутреннего цикла

del2  loop del2          ;Внутренний цикл(64К шагов)

pop CX                    ;Восстановим внешний счетчик

loop del1                  ;Внешний цикл

pop BP                     ;Восстановим BP

pop CX                     ;и СХ программы

ret   2                       ;Возврат и снятие со стека

                               ;ненужного уже параметра     




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



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