Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Переходы с помощью команды CALL



Переход на процедуру может осуществляться командой call. Синтаксис команды:

сall [модификатор] имя_процедуры

и аналогичен синтаксису команд, содержащих jmp. Модификаторы - near ptr, far ptr, word ptr и dword ptr. Отсутствует модификатор short. Модификатор "по умолчанию" - near ptr.

Команда call, подобно jmp, передает управление по адресу с символическим именем имя_процедуры, но при этом в стек помещается адрес возврата на команду, следующую за командой call. Вызываемая процедура должна содержать команду ret (аналог return языка С++). Команда ret считывает адрес возврата из стека и загружает его в регистры cs и ip, тем самым возвращая управление на команду, следующую в программе за командой call.

Командой call можно передавать управление и на совокупность команд программы, начинающейся с метки и заканчивающейся командой ret.

Программа просмотра регистра FLAG

Ниже приведена программа [1], демонстрирующая применение команды условного перехода jne в сочетании с предшествующей ей командой cmp (по сути, для иллюстрации расписана на составляющие команда loop). Программа выводит на экран содержание арифметических флагов в регистре флагов.

;====== Программа 12. Файл z4_pr12.asm ====================

Masm

Model small

Stack 128

Data





Дата публикования: 2014-12-10; Прочитано: 478 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...