Вызов подпрограмм. Вызов подпрограмм Вызов подпрограмм
![]()
|
![]() Вызов подпрограмм Вызов подпрограмм Подпрограмма, в зависимости от выполняемых ею функций, может требовать передачи из вызывающей программы определенных данных (аргументs, параметры), возвращать в вызывающую программу результаты вычислений или обходиться и без того, и без другого. ![]() Способы размещения Размещение процедуры в начале сегмента кода … .code myproc proc near ret myproc endp start proc call myproc … start endp end start ![]() Сравнение Базовых решений работ с подпрограммами ![]() Таблица Команды передачи управления (безусловной) ![]() Сравнение Базовых решений способа передачи данных ![]() Таблица Команды вызова подпрограмм и возврата из них ![]() вызов процедуры .586 .model flat, stdcall .stack 4096 .data .code proc_1 proc ; начало процедуры push ebp ; пролог: сохранение EBP mov ebp, esp ; пролог: инициализация EBP mov eax, [ebp+8] ; доступ к аргументу 4 mov ebx, [ebp+12] ; доступ к аргументу 3 mov ecx, [ebp+16] ; доступ к аргументу 2 ![]() Благодарим за внимание ![]() |