русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

LOOP/LOOPусловие - Управление циклом при помощи счетчика CX


Дата добавления: 2015-06-12; просмотров: 493; Нарушение авторских прав


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||E2 cb LOOP rel8 2,6 DEC счетчика, короткий переход|| если счетчик <> 0 ||E1 cb LOOPE rel8 9,6 DEC счетчика, короткий переход|| если счетчик <> 0 и ZF = 1 ||E1 cb LOOPZ rel8 9,6 DEC счетчика, короткий переход|| если счетчик <> 0 и ZF = 1 ||E0 cb LOOPNE rel8 9,6 DEC счетчика, короткий переход|| если счетчик <> 0 и ZF = 0 ||E0 cb LOOPNZ rel8 9,6 DEC счетчика, короткий переход|| если счетчик <> 0 и ZF = 0 |----------------------------------------------------------------- Работа команды IF AddrSize = 16 THEN CountReg это CX ELSE CountReg это ECX; FI;CountReg <- CountReg - 1; IF команда <> LOOPTHEN IF (команда = LOOPE) OR (команда = LOOPZ) THEN BranchCond <- (ZF = 1) AND (CountReg <> 0); FI; IF (команда = LOOPNE) OR (команда = LOOPNZ) THEN BranchCond <- (ZF = 0) AND (CountReg <> 0); FI;FI; IF BranchCond (* Условие перехода *)THEN IF OperandSize = 16 THEN IP <- IP + SignExtend(rel8); ELSE (* OperandSize = 32 *) EIP <- EIP + SignExtend(rel8); FI;FI; ОписаниеКоманда LOOP декрементирует счетный регистр без изменения любого изфлагов. Затем для используемой формы команды LOOP проверяются условия.Если условия удовлетворяются, то выполняется короткий переход к метке,заданной как операнд команды LOOP. Если атрибут размера адреса равен 16битам, то в качестве регистра-счетчика используется регистр CX; впротивном случае используется регистр ECX. Операнд команды LOOP долженнаходиться в диапазоне от 128 (десятичное) байтов до начала команды до 127байтов после начала команды.Команды LOOP обеспечивают управление итерациями и объединяют организациюиндексирования цикла с условным переходом. Используйте команду LOOP,загружая число итераций без знака в счетный регистр и затем помещаякоманду LOOP в конце последовательности команд, подлежащих итерации.Назначение команды LOOP это метка, указывающая на начало итерации. Изменяемые флагиОтсутствуют Исключения защищенного режима#GP(0), если смещение перехода находится ведет за границы текущегокодового сегмента. Исключения режима реальных адресовОтсутствуют Исключения виртуального режима 8086Отсутствуют ПримечаниеБезусловная команда LOOP выполняется дольше, чем последовательность издвух команд, одна из которых выполняет декремент счетного регистра, авторая - переход, если счетчик не равен нулю.Все команды ветвления преобразуются для выборки в 16-разрядные коды,независимо от адреса перехода или возможности кеширования.


<== предыдущая лекция | следующая лекция ==>
LODS/LODSB/LODSW/LODSD - Загрузка строкового операнда | LSL - Загрузка границы сегмента


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.103 сек.