На этом шаге мы рассмотрим способ передачи данных через регистры.
Это наиболее простой в реализации способ передачи данных. Данные, переданные подобным способом, становятся доступными немедленно после передачи управления процедуре. Этот способ очень популярен при небольшом объеме передаваемых данных.
Перечислим ограничения на способ передачи аргументов через регистры:
Такой способ передачи аргументов широко применяется при вызове функций 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
На следующем шаге мы рассмотрим передачу параметров через стек.