Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Передача исходных данных в подпрограмму

Читайте также:
  1. I-7000 : устройства удаленного и распределенного сбора данных и управления
  2. I. Передача
  3. III. Условия для использования данных каротажа о мощности и строении пластов угля и глубинах их залегания
  4. V. Условия использования данных каротажа для выявления и характеристики разрывных нарушений
  5. VI. Три мужских сердца, созданных различно
  6. Анализ данных
  7. Анализ и интерпретация данных экспериментально-психологического исследования.

Наиболее часто используется передача кодов подпрограмме через стек. Перед вызовом подпрограммы в стек заносят требуемые параметры-коды, которые затем извлекаются в процедуре с помощью косвенной адресации через регистр BP. Используется косвенная адресация со смещением кратным 2. При возврате из процедуры указывается количество байтов помещённых в стек при вызове.

Извлечение кодов при ближнем вызове

На рисунке 4.1 показан ближний вызов подпрограммы MyProc, перед вызовом подпрограмме через стек передается код 0F. Состояние стека после вызова подпрограммы показано на рисунке 4.2.

Рис.4.1. Передача кода в подпрограмму. Ближний вызов.

Пример. Программа с подпрограммой вывода символа на консоль, код символа передается через стек.

use16

org 256

;----------------------------

mov AL,[sym]

mov AH,0

push AX

call getSym;вызов подпрограммы

;----------------------------

mov AH,08

int 21h

mov AX,4C00h

int 21h

;-----------------------------

sym db 176;символ

;-----------------------------

getSym:

mov BP,SP;BP->Верх стека

mov AH,02

mov DX,[BP+2];Читать код символа

int 21h

ret 2

Рис.4.2. Код в стеке


Дата добавления: 2015-07-26; просмотров: 58 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Дальний вызов подпрограммы| Задания для самостоятельной работы

mybiblioteka.su - 2015-2024 год. (0.005 сек.)