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


         

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


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                       ;Возврат и снятие со стека
                               ;ненужного уже параметра     

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