Шаг 35.
Передача аргументов через регистры

    На этом шаге мы рассмотрим способ передачи данных через регистры.

    Это наиболее простой в реализации способ передачи данных. Данные, переданные подобным способом, становятся доступными немедленно после передачи управления процедуре. Этот способ очень популярен при небольшом объеме передаваемых данных.

    Перечислим ограничения на способ передачи аргументов через регистры:

    Такой способ передачи аргументов широко применяется при вызове функций DOS.

    В качестве примера приведем программу, осуществляющую в процедуре сложение значений, находящихся в регистрах AL и BL. Там же осуществляется вывод результата на экран:

             PAGE 60,132
             TITLE  Пример передачи параметров через регистры.
             ;Программа создана как COM-файл.  
CodeSg       SEGMENT PARA PUBLIC
	     ASSUME CS:CodeSg
Begin        PROC  
             MOV AL,2
             MOV BL,3
             CALL Summa  ;Обращение к процедуре.
             RET
Begin        ENDP
; -------------- Процедура нахождения суммы. ----------------
Summa        PROC
             MOV DL,AL
             ADD DL,BL   ;В DL полученная сумма.
             ADD DL,30H  ;Получили код выводимой цифры.
             MOV AH,2
             INT 21H     ;Выводим символ на экран.
             RET
Summa        ENDP
CodeSg       ENDS
             END  Begin
Текст этой программы можно взять здесь.

    На следующем шаге мы рассмотрим передачу параметров через стек.




Предыдущий шаг Содержание Следующий шаг