Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Переход на процедуру может осуществляться командой 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!