1 / 16

Архитектура ЭВМ

Архитектура ЭВМ. Практика 4. Программы с ветвлениями. Команды для организации ветвлений, циклов, подпрограмм относятся к группе команд передачи управления. По принципу действия эти команды можно разделить на три группы: Команды безусловной передачи управления;

koko
Télécharger la présentation

Архитектура ЭВМ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Архитектура ЭВМ Практика 4. Программы с ветвлениями.

  2. Команды для организации ветвлений, циклов, подпрограмм относятся к группе команд передачи управления. По принципу действия эти команды можно разделить на три группы: • Команды безусловной передачи управления; • Команды условной передачи управления; • Команды управления циклом.

  3. Команда безусловного перехода • jmp [модификатор] <адрес перехода> - безусловный переход без сохранения информации о точке возврата. • cs:ip := <адрес перехода> • [модификатор] - определяет тип перехода: • near ptr - ближний, внутри текущего сегмента кода (по умолчанию); • far ptr - дальний, в другой сегмент кода. • адрес перехода- обычно используется метка.

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

  5. Команды условных переходов. • Микропроцессор имеет 30 команд условного перехода. Эти команды позволяют проверить: • отношение между операндами со знаком (“больше — меньше”); • отношение между операндами без знака (“выше — ниже”); • состояния арифметических флагов zf, sf, cf, of, pf.

  6. Команды условных переходов. Команды условного перехода имеют одинаковый синтаксис: jcc<метка_перехода> • «j» — от слова jump (прыжок); • «cc» — определяет конкретное условие, анализируемое командой. Условный переход возможен только внутри одного сегмента кода!

  7. Команды условных переходов. • Для того чтобы принять решение о том, куда будет передано управление командой условного перехода, предварительно должно быть сформировано условие, на основании которого и будет приниматься решение о передаче управления. Источниками такого условия могут быть: • любая команда, изменяющая состояние арифметических флагов; • команда сравнения cmp, сравнивающая значения двух операндов; • состояние регистра ecx/cx.

  8. Команда сравнения cmp • cmp<операнд1>, <операнд2> — сравнивает два операнда и по результатам сравнения устанавливает флаги, которые могут быть проверены командами условного перехода. Примеры: cmpax, bx … cmp y, cx ...

  9. Список команд условных переходов. Переход на указанную метку, если в команде cmp: • je- операнд_1 = операнд_2, zf = 1 • jne - операнд_1<>операнд_2, zf = 0 • jl/jnge - операнд_1 < операнд_2, sf <> of • jle/jng - операнд_1 <= операнд_2, sf <> oforzf = 1 • jg/jnle - операнд_1 > операнд_2, sf = ofandzf = 0 • jge/jnl - операнд_1 >= операнд_2, sf = of • jb/jnae - операнд_1 < операнд_2, cf = 1 • jbe/jna - операнд_1 <= операнд_2, cf = 1 or zf=1 • ja/jnbe - операнд_1 > операнд_2, cf = 0 andzf = 0 • jae/jnb - операнд_1 >= операнд_2, cf = 0

  10. Команды условных переходов Переход на указанную метку, если выполняется указанное равенство флагов: • jc еслиcf = 1 jnc если cf = 0 • jp если pf = 1 jnp если pf = 0 • jz если zf = 1 jnz если zf = 0 • js если sf = 1 jns если sf = 0 • jo если of = 1 jno если of = 0 Переход на указанную метку, если регистр ecx/cx= 0: jecxz/jcxz <метка>

  11. Пример программы:

  12. Задание

  13. Практическое задание • Изучить пример программы. • Разработать программу для своего варианта арифметических действий. • Протестировать программу. Записать в отчет заданные исходные данные и полученные результаты.

  14. Отчет должен содержать: • Номер варианта, условие задачи • Текст программы с комментариями. • Результат тестирования программы (расчетные и полученные результаты тестирования).

More Related