56. Команды передачи управления
56. Команды передачи управления
То, какая команда программы должна выполняться следующей, микропроцессор узнает по содержимому пары регистров cs:(e)ip:
1) cs – сегментный регистр кода, в котором находится физический адрес текущего сегмента кода;
2) eip/ip – регистр указателя команды, в нем находится значение смещения в памяти следующей команды, подлежащей выполнению.
Безусловные переходы
Что должно подвергнуться модификации, зависит:
1) от типа операнда в команде безусловного перехода (ближний или дальний);
2) от указания перед адресом перехода модификатора; при этом сам адрес перехода может находиться либо непосредственно в команде (прямой переход), либо в регистре памяти (косвенный переход).
Значения модификатора:
1) near ptr – прямой переход на метку;
2) far ptr – прямой переход на метку в другом сегменте кода;
3) word ptr – косвенный переход на метку;
4) dword ptr – косвенный переход на метку в другом сегменте кода.
Команда безусловного перехода jmp
jmp [модификатор] адрес_перехода
Процедура или подпрограмма, – это основная функциональная единица декомпозиции некоторой задачи. Процедура представляет собой группу команд.
Условные переходы
Микропроцессор имеет 18 команд условного перехода. Эти команды позволяют проверить: 1) отношение между операндами со знаком («больше – меньше»);
2) отношение между операндами без знака
(«выше – ниже»); 3) состояния арифметических флагов ZF, SF, CF, OF, PF (но не AF).
Команды условного перехода имеют одинаковый синтаксис: jcc меткаперехода
Команда сравнения cmp имеет интересный принцип работы. Он абсолютно такой же, как и у команды вычитания – sub операнд_1, операнд_2.
Команда cmp так же, как и команда sub, выполняет вычитание операндов и устанавливает флаги. Единственное, чего она не делает – это запись результата вычитания на место первого операнда.
Синтаксис команды cmp – cmp операнд_1, операнд_2 (compare) – сравнивает два операнда и по результатам сравнения устанавливает флаги.
Организация циклов
Организовать циклическое выполнение некоторого участка программы можно, к примеру, используя команды условной передачи управления или команду безусловного перехода jmp:
1) loop меткаперехода (Loop) – повторить цикл. Команда позволяет организовать циклы, подобные циклам for в языках высокого уровня с автоматическим уменьшением счетчика цикла;
2) loope/loopz меткаперехода
Команды loope и loopz – абсолютные синонимы;
3) loopne/loopnz меткаперехода
Команды loopne и loopnz также абсолютные синонимы. Команды loope/loopz и loopne/loopnz по принципу своей работы являются взаимообратными.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
5.3. Команды управления процессами
5.3. Команды управления процессами Команда psКоманда ps предназначена для вывода информации о выполняемых в текущий момент процессах. Данная команда имеет много параметров, о которых вы можете прочитать в руководстве (man ps). Здесь я опишу лишь наиболее часто используемые
10.4. Команды управления сервером DNS
10.4. Команды управления сервером DNS Для управления сервером DNS используется программа ndc. Ее можно использовать с параметрами start, stop, reload, restart.Параметр start запускает сервер, a stop — останавливает. Параметр reload перезагружает файлы зоны, если в них произошли изменения, а
14.6.1 Команды управления доступом
14.6.1 Команды управления доступом Команды и параметры, которые определяют доступ пользователя к хранилищу файлов удаленного хоста, определены в таблице 14.1.Таблица 14.1 Команды авторизации пользователя для доступа к архиву
14.6.2 Команды управления файлами
14.6.2 Команды управления файлами Команды из таблицы 14.2 дают возможность выполнять типичные операции позиционирования на каталог и управления файлами удаленного хоста. Рабочим каталогом (working directory) называется текущий каталог пользователя.Таблица 14.2 Команды выбора
9.2. Команды управления процессами
9.2. Команды управления процессами 9.2.1. Иерархия процессов: ps и pstree О том, что команда ps позволяет просмотреть сведения обо всех процессах, протекающих в системе в данный момент, вы уже знаете (п.3.2). С ключом -f эта команда выводит как PID самого процесса, так и PPID его родителя,
Линии передачи
Линии передачи Хотя в PSpice имеется специальное устройство под именем T (для линий передачи), применение его ограничено, поскольку эта модель не учитывает потерь в линии. Мы предпочитаем использовать для линии передачи модель, которая учитывает потери и содержит элементы R,
2. Команды передачи управления
2. Команды передачи управления Мы познакомились с некоторыми командами, из которых формируются линейные участки программы. Каждая из них в общем случае выполняет некоторые действия по преобразованию или пересылке данных, после чего микропроцессор передает управление
8.1. Панель управления нужна для управления
8.1. Панель управления нужна для управления В любом сложном устройстве всегда есть пульт – набор кнопок, рычажков, сенсорных датчиков, штурвалов… словом, приспособлений, с помощью которых можно этим сложным устройством управлять.Есть такой «пульт» и в Vista. Он называется
Способы передачи
Способы передачи Существуют два способа передачи потокового видео – последовательный (Progressive Streaming) и в реальном времени (Real-Time Streaming).При передаче последовательным способом качество изображения всегда лучше, поскольку видео воспроизводится с жесткого диска
Проблемы передачи
Проблемы передачи При трансляции потокового видео через Интернет могут возникать проблемы, ухудшающие качество передачи. Среди них можно выделить несколько основных.Перебои в связиПотоковое вещание требует стабильной связи. Поскольку Интернет не может обеспечить
11.1. Команды управления заданиями
11.1. Команды управления заданиями Некоторые из нижеследующих команд принимают, в качестве аргумента, "идентификатор задания". См. таблицу в конце главы.jobsВыводит список заданий, исполняющихся в фоне. Команда ps более информативна. Задания и процессы легко спутать.
12.7. Команды управления терминалом
12.7. Команды управления терминалом Команды, имеющие отношение к консоли или терминалуtputинициализация терминала или выполнение запроса к базе данных терминалов terminfo. С помощью tput можно выполнять различные операции. tput clear -- эквивалентно команде clear. tput reset -- эквивалентно
Панель управления нужна для управления
Панель управления нужна для управления В любом сложном устройстве всегда есть пульт – набор кнопок, рычажков, сенсорных датчиков, штурвалов… словом, приспособлений, с помощью которых можно этим сложным устройством управлять.Есть такой «пульт» и в Vista. Он называется