1 / 14

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

Архитектура ЭВМ. Практика 5 . Программирование циклов. Команды для организации цикла. Организовать циклическое выполнение некоторого участка программы можно «вручную», используя команды условной передачи управления или команду безусловного перехода jmp.

pillan
Download Presentation

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

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. Архитектура ЭВМ Практика 5. Программирование циклов.

  2. Команды для организации цикла. • Организовать циклическое выполнение некоторого участка программы можно «вручную», используя команды условной передачи управления или команду безусловного перехода jmp. • Но, учитывая важность такого алгоритмического элемента, как цикл, разработчики микропроцессора ввели в систему команд группу команд, облегчающую программирование циклов. • Эти команды используют регистр ecx/cx как счетчик цикла.

  3. loop <метка_перехода> Команда позволяет организовать циклы, подобные циклам for в языках высокого уровня с автоматическим уменьшением счетчика цикла. Работа команды: • уменьшение регистра ecx/cx на 1; • если (ecx/cx) > 0, то управление передается на метку перехода; • если (ecx/cx) = 0, то управление передается на следующую после loop команду.

  4. loope/loopz <метка_перехода> Работа команд: • уменьшение регистра ecx/cx на 1; • анализ состояния флага нуля zf: • если (ecx/cx) > 0 и zf = 1, то управление передается на метку перехода; • если (ecx/cx) = 0 или zf = 0, то управление передается на следующую после loop команду.

  5. loopne/loopnz <метка_перехода> • Работа команд: • уменьшение регистра ecx/cx на 1; • анализ состояния флага нуля zf: • если (ecx/cx) > 0 и zf = 0, то управление передается на метку перехода; • если (ecx/cx) = 0 или zf = 1, то управление передается на следующую после loop команду.

  6. Пример программы с циклом

  7. Пример программы с вложенным циклом

  8. Задание

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

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

More Related