7085

Оператор цикла LOOP. Команды условных переходов

Лабораторная работа

Информатика, кибернетика и программирование

Оператор цикла LOOP. Команды условных переходов Цель работы: Научиться использовать оператор повторения и команды условных переходов. Задание: Составьте программу для подсчета выражения, где N - произвольное четное положительное число, без исп...

Русский

2013-01-14

143 KB

10 чел.

Оператор цикла LOOP. Команды условных переходов

Цель работы:

Научиться использовать оператор повторения и команды условных переходов.

Задание:

Составьте программу для подсчета выражения , где N – произвольное четное положительное число, без использования в программе команд условных и безусловных переходов. Допускается использование оператора цикла

Порядок выполнения работы:

В Far Manager создадим файл 12.asm.

В файле 12.asm наберем программу, которая вычисляет выражение  и результат заносит в регистр АХ. Строки программы прокомментированы.

TITLE Program2 ;название программы

.MODEL small ;отводим под стек и под данные по 64Кб

.STACK 100h  ;отмечаем начало сегмента стека

.DATA ;отмечаем начало сегмента данных

N DW 4 ;определяем переменную N 

S DW 0 ;определяем переменную S

.CODE ;отмечаем начало сегмента кодов

main PROC

MOV AX, @data  ;копируем адрес

MOV DS, AX  ;сегмента данных

mov CX, N  ;задаем внешний источник повторений

L1:

push CX  ;Сохраним в стеке внешний источник повторений

mov BX,-1 ;задаем начальные значения регистров ВХ

mov AX,-1 ;и АХ перед началом внутреннего цикла

L2:

mul BX ;умножение регистров AX на BX результат в AX ((-1)^N)

loop L2  ;AX - содержит результат CX внутренних циклов умножения (-1)*(-1)

pop CX  ;восстановим СХ из стека для внешнего цикла

mul CX ;умножение регистров AX на CX результат в AX ((-1)^N*N)

add S, AX  ;накопление окончательной суммы в переменной S

loop L1 ;конец внешнего цикла, результат содержится в переменной S

mov AX, S ;сохранение окончательного результата в регистр AX перед выходом

MOV AX,4C00h ;выход

INT 21h  ;из программы

main ENDP

END main

Выполним отладку программу. 

Проверим значение регистра АХ перед выходом из программы с помощью отладчика Turbo Debugger.

Присвоим значения переменной N=4.

Значение регистра АХ перед выходом из программы в обратном коде равно FFFE. В прямом коде - 0002 т.е.  – в десятичной. Сравним со значением выражения . Таким образом, программа правильно вычисляет заданное выражение.

Присвоим значения переменной N=10.

Значение регистра АХ перед выходом из программы в обратном коде равно FFFB. В прямом коде -0005 т.е.  – в десятичной. Сравним со значением выражения .

Таким образом, программа правильно вычисляет заданное выражение.

Присвоим значения переменной N=126.

Значение регистра АХ перед выходом из программы в обратном коде равно FFC1. В прямом коде -003f т.е. – в десятичной. Сравним со значением выражения .

Таким образом, программа правильно вычисляет заданное выражение.

Вывод

В данной лабораторной работе изучались операторы повторения и команды условных переходов языка ассемблер. Была разработана программа вычисляющая выражение . Программа была проверена с тремя наборами исходных данных. Во всех трех вариантах результаты вычислений оказались верными. Таким образом, программа правильно вычисляет заданное выражение.


 

А также другие работы, которые могут Вас заинтересовать

21491. Реаниматологическая помощь при термической травме 21 KB
  При комбинированной травме показаниями к проведению ВЧВВ легких через микротрахеостому у таких пострадавших должны быть: 1) поражение дыхательных путей продуктами горения легкой степени + ожог верхних дыхательных путей
21492. СЕПСИС И СЕПТИЧЕСКИЙ ШОК 120 KB
  Кандидат медицинских наук старший преподаватель подполковник медицинской службы Журавлев В.:Медицина1991. 5 2Введение Сепсис остается сложной медицинской проблемой и на се годняшний день продолжает быть одной из ведущих причин ле тальности несмотря на современные открытия в патогенезе этого заболевания и принципах его лечения.
21493. СОДЕРЖАНИЕ ЭЛЕКТРОЛИТОВ И ОСМОТИЧЕСКАЯ КОНЦЕНТРАЦИЯ НЕКО 31.5 KB
  Например Американская коллегия врачей и общество критической медицины США придер живаются терминологии выработанной на совместной конферен ции по определению общих критериев при различных формах те чения сепсиса слайд N1: 1Определения сепсиса и связанных с ним нарушений ┌─────────────────┬───────────────────────────────────────────┐ │Термин │ Определение │ ├─────────────────┼───────────────────────────────────────────┤ │Септициемия...
21494. Организация анестезиологической и реаниматологической помощи на этапе квалифицированной медицинской помощи 175.5 KB
  Учреждения подразделения заготовки крови состав задачи VI. Из оснащения на ПМП имеются: инфузионные растворы полиглюкин физиологический раствор растворы глюкозы 5 одноразовые системы для переливания крови и кровезаменителей кровь универсальной группы ОIRh аппараты ИВЛ ДП9 и ДП10 кислородные ингаляторы КИ4 портативный аналгезер АП1 наборы для трахеотомии дренирования левралной полости а также лекарственные средства промедол морфин дипразин новоеаин трихлорэтилен и др. Сложнее восстановить проходимость...
21495. ВЕДЕНИЕ ЧЕРЕПНО-МОЗГОВОЙ ТРАВМЫ 54.5 KB
  Это потенциально опасно, т.к. вызывает избыточную вазоконстрикцию и приводит к ишемии. Агрессивная гипервентиляция может стать неэффективной спустя несколько часов и должна использоваться только на короткий срок в абсолютно неотложных ситуациях. В этих ситуациях с целью снижения ВЧД пациента часто используется отсоединение от респиратора и ручная вентиляция
21496. ВОДНО-ЭЛЕКТРОЛИТНЫЙ ОБМЕН. НАИБОЛЕЕ ОПАСНЫЕ ФОРМЫ ЕГО НАРУШЕНИЙ 25 KB
  Как правило, все больные с тяжёлой травмой должны быть релаксированны на первые 24 часа, так как неконтролируемые подъёмы внутригрудного давления (в сочетании с подъёмами ЦВД и ВЧД) должны быть предупреждены. После 24 часов миорелаксация часто прекращается. Если на этой стадии пациент остаётся хорошо седатированным, без возбуждения, которое приводит к подъёму ВЧД
21497. СТАНДАРТНЫЕ ПРАВИЛА И РЕКОМЕНДАЦИИ ПО БЕЗОПАСНОСТИ АНЕСТЕЗИОЛОГИЧЕСКОЙ ПРАКТИКИ 66.5 KB
  Аргументация 1 оксигенация: Анестезиолог несет ответственность за адекватность концентрации кислорода в газовой дыхательной смеси и артериальной крови больного во время всего периода операции. Нейтральная позиция головы Предупреждает нарушение оттока крови по венам шеи. Использование лейкопластыря для фиксации эндотрахеальной трубки Фиксация трубки бинтом может вызвать нарушение оттока крови по венам шеи. Подтвердить адекватность оксигенации пульсоксиметрия газовый анализ крови  Обеспечить нормальную температуру тела  Проверить...
21498. ИСКУССТВЕННАЯ И ВСПОМОГАТЕЛЬНАЯ ВЕНТИЛЯЦИЯ ЛЕГКИХ 77 KB
  В частности содержание газов в крови не определяли в 5863 случаев во время интенсивной терапии мониторинг вентиляции и оксигенации не применяли в 5874 случаев. Если исследовали содержание газов в крови то часто не было интерпретации их и соответствующей коррекции респираторной терапии: при тяжелой гипокапнии РаСО2 снижалось иногда до 16 мм рт. аппарата ИВЛ Vi и выдыхаемого больным Ve л мин; частота дыхания аппарата больного Fi Fe мин1; давление в системе аппаратбольной Ppeк Pmen PEEP; отношение продолжительность...