Skip to content

[ЭКЗАМЕН 20] Команды условных переходов.

Justarone edited this page Jun 9, 2020 · 7 revisions

Команды условных переходов.

Условный переход - переход, происходящий при выполнении какого-то условия.

Команды условных переходов имеют вид J?? <метка>.

Виды условных переходов

Не зависящие от знака

Команда Описание Состояние флагов для выполнения перехода
JO Есть переполнение OF = 1
JNO Нет переполнения OF = 0
JS Есть знак SF = 1
JNS Нет знака SF = 0
JE/JZ Если равно/если ноль ZF = 0
JNE/JNZ Если не равно/если не ноль ZF = 0
JP/JPE Есть четность/четное количество битов PF = 1
JNP/JPO Нет четности/нечетное количество битов PF = 0
JCXZ CX = 0

Беззнаковые

Команда Описание Состояние флагов для выполнения перехода Знаковый
JB/JNAE/JC Если ниже/если не выше и не равно/если перенос CF = 1 нет
JNB/JAE/JNC Если не ниже/если выше и равно/если перенос CF = 0 нет
JBE/JNA Если ниже или равно/если не выше CF = 1 или ZF = 1 нет
JB/JNAE/JC Если ниже/если не выше и не равно/если перенос CF = 1 нет
JA/JNBE Если выше/если не ниже и не равно CF = 0 и ZF = 0 нет

Знаковые

Команда Описание Состояние флагов для выполнения перехода Знаковый
JL/JNGE Если меньше/если не больше и не равно SF != OF да
JGE/JNL Если больше или равно/если не меньше SF = OF да
JLE/JNG Если меньше или равно/если не больше ZF = 1 или SF != OF да
JG/JNLE Если больше/если не меньше и не равно ZF = 0 и SF = OF да

Следующий вопрос: Команда XLAT/XLATB.

Предыдущий вопрос: Команда сравнения.

Экзамен:

  1. Архитектура фон Неймана. Принципы фон Неймана

  2. Структурная схема ЭВМ. Виды памяти. Системная шина.

  3. Процессор 8086. Разрядность. Регистры.

  4. Процессор 8086. Регистр флагов.

  5. Процессор 8086. Шина адреса. Сегментная модель памяти.

  6. Выполнение программы. Машинный код. Исполняемые файлы. Язык ассемблера.

  7. Классификация команд процессора x86.

  8. Команда пересылки данных.

  9. Команды целочисленной арифметики.

  10. Команды побитовой арифметики.

  11. Команды передачи управления.

  12. Структура программы на языке ассемблера. Модули. Сегменты.

  13. Директивы выделения памяти. Метки.

  14. Директива SEGMENT.

  15. Директива ASSUME.

  16. Директива END. Точка входа.

  17. Виды переходов. Условные, безусловные переходы. Короткий, ближний, дальний переход.

  18. Способы адресации.

  19. Команда сравнения.

  20. Команды условных переходов.

  21. Команда XLAT/XLATB.

  22. Команда LEA.

  23. Команды десятичной арифметики.

  24. Команды сдвига.

  25. Команда организации цикла.

  26. Строковые операции. Префиксы повторения.

  27. Стек. Регистры, связанные со стеком. Команды записи/извлечения из стека.

  28. Стек. Использование при вызове подпрограмм. Команды вызоваподпрограммы и возврата.

  29. Прерывания. Назначение, виды прерываний. Таблица векторов прерываний.

  30. Срабатывание прерывания. Обработчик прерывания в реальном режиме. Возврат из обработчика прерывания.

  31. Процессор 80386. Разрядность, регистры.

  32. Защищённый режим работы процессора. Многозадачность.

  33. Модели памяти в защищённом режиме. Регистры управления памятью. Страничное преобразование.

  34. Процессоры x86-64. Регистры. Режимы работы.

  35. Математический сопроцессор. Типы данных. Представление вещественных чисел.

  36. Математический сопроцессор. Регистры.

  37. Математический сопроцессор. Особые числа.

  38. Математический сопроцессор. Классификация команд.

  39. Расширение MMX. Назначение. Типы данных.

  40. Расширение MMX. Регистры. Классификация команд.

  41. Расширение SSE. Назначение. Типы данных. Регистры.

  42. Макроопределения. Назначение.

  43. Макроопределения. Директивы присваивания и отождествления.

  44. Макроопределения. Макрооперации.

  45. Макроопределения. Блоки повторения.

  46. Макроопределения. Директивы условного ассемблирования.

Clone this wiki locally