Архитектура ЭВМ Практика 5. Программирование циклов.

Презентация:



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

Циклы в языке Ассемблер.. Цикл со счетчиком Цикл со счетчиком можно организовать с помощью конструкций IF и GOTO. В нашем примере тело цикла должно повторяться.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 6 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Организация циклов в Ассемблере. Цикл – это многократно повторяющаяся последовательность операторов.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
С ИСТЕМА КОМАНД ЕОМ. С ТРУКТУРА ТА ФОРМАТИ КОМАНД.
§ 18 Вычисление сумм и произведений Глава 3. Программирование на языках JavaScript и Pascal.
Программирование циклов
Алгоритмы, схемы, программы. Глава 2. Алгоритм приготовления блюда быстрого питания: 1.Высыпать в ёмкость содержимое пакетика. 2.Налить в ёмкость 200.
Алгоритмические конструкции. Виды алгоритмов 1. Линейные алгоритмы 2. Разветвляющие алгоритмы 3. Циклические алгоритмы.
Циклические алгоритмы. Циклическими называются алгоритмы, в которых повторяется определенная последовательность действий (тело цикла). Определение.
Понятие программы, оператора и переменных. Разработала : Веревкина В.Н.
Микропроцессоры и микропроцессорные системы. 1. Пересылка данных MOV приемник, источник- Пересылка данных Базовая команда пересылки данных. Копирует содержимое.
Степень с натуральным показателем. Цели урока: 1)Понять, что такое степень с натуральным показателем; 2)Научиться вычислять степень числа; 3)Научиться.
Операционные системы Принципы Фон Неймана Бленда Николай Андреевич 2009.
Информатика – 9-11 класс Булатова А.В. Учитель информатики МОУ СОШ 20.
Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
Y Составьте алгоритм вычисления y, исходя из системы Вариант 1 Вариант 2.
Pascal Алгоритмы циклической структуры, программирование на языке Pascal 9 класс.
Алгоритмическая конструкция «цикл». Если при решении задачи какое-либо действие или группу действий необходимо выполнять многократно, то в алгоритмах.
Транксрипт:

Архитектура ЭВМ Практика 5. Программирование циклов.

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

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

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

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

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

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

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

ВарЗадания 1 1.Составить программу вычисления суммы первых N натуральных четных чисел. Протестировать программу при N=5. 2.Составить программу, подбирающую натуральные X и Y (одну комбинацию, наибольшее Y при наибольшем X), удовлетворяющие равенству: 2*X + 3*Y = 120. Найденные X, Y записать в память. 2 1.Составить программу вычисления произведения первых N натуральных четных чисел. Протестировать программу при N=4. 2.Составить программу, подбирающую натуральные X и Y (одну комбинацию, наименьшее Y при наименьшем X), удовлетворяющие равенству: 2*X + 3*Y = 120. Найденные X, Y записать в память. 3 1.Составить программу вычисления суммы первых N натуральных нечетных чисел. Протестировать программу при N=5. 2.Составить программу, подбирающую натуральные X и Y (одну комбинацию, наименьшее Y при наименьшем X), удовлетворяющие равенству: X 2 + Y 2 = Найденные X, Y записать в память.

ВарЗадания 4 1.Составить программу вычисления произведения первых N натуральных нечетных чисел. Протестировать программу при N=4. 2.Составить программу вычисления двойной суммы: Протестировать программу при: n=3; m = Составить программу вычисления суммы первых N натуральных чисел. Протестировать программу при N=5. 2.Составить программу вычисления двойной суммы: Протестировать программу при: n=3; m = Составить программу вычисления произведения первых N натуральных чисел (факториала N). Протестировать программу при N=5. 2.Составить программу вычисления двойной суммы: Протестировать программу при: n=3; m = 5.

ВарЗадания 7 1.Составить программу вычисления суммы N натуральных чисел, хранящихся в памяти как массив A. Протестировать программу при: N=5; A=(2, 5, 1, 3, 7). 2.Составить программу вычисления суммы произведения: Протестировать программу при: n=3; m = Составить программу вычисления произведения N натуральных чисел, хранящихся в памяти как массив. Протестировать программу при: N=5; A=(2, 5, 1, 3, 7). 2.Составить программу вычисления суммы произведения: Протестировать программу при: n=3; m = Составить программу вычисления суммы 6-ти байт памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr db 'Program' 2. Составить программу вычисления произведения суммы: Протестировать программу при: n=3; m = 5.

ВарЗадания 10 1.Составить программу вычисления произведения 6-ти байт памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr db '14.03' 2.Составить программу вычисления произведения суммы: Протестировать программу при: n=3; m = Составить программу вычисления суммы 5-ти слов в памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr dw F1h, A10h, Ah, ADh, 123h 2.Составить программу вычисления двойного произведения: Протестировать программу при: n=3; m = Составить программу вычисления произведения 5-ти слов в памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr dw 1h, 2h, Ah, Bh, 100h 1.2. Составить программу вычисления двойного произведения: Протестировать программу при: n=3; m = 2.

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