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 т.е. – в десятичной. Сравним со значением выражения .

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

Вывод

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


 

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

42750. Организация текста внутри HTML-документов с помощью таблиц 94.5 KB
  Организация текста внутри HTMLдокументов с помощью таблиц Элементы HTML для построения таблиц Для создания таблицы используется элемент TBLE. Атрибут border в открывающем теге TBLE делает видимой рамку таблицы и сетку разделяющую строки и столбцы. Между открывающим TBLE и закрывающим TBLE тегами для построения таблицы размещаются парные теги следующих элементов: 1. CPTION Текст отмеченный тегами CPTION и CPTION этого элемента выводится в виде заголовка таблицы.
42751. Изучение и исследование термоэлектрического метода измерения температур 99.5 KB
  При этом студенты овладевают методикой поверки автоматического потенциометра КСП4 в комплекте с образцовым потенциометром УПИП–60М градуировки шкалы. магазин сопротивлений R4 R10 и клеммы для подключения образцового потенциометра УПИП–60М. Поверка автоматического потенциометра КСП4. Для поверки градуировки шкалы автоматического потенциометра КСП4 собирают схему по рисунку.
42752. Потери напора по длине в круглой трубе 273 KB
  Цель работы – экспериментальная иллюстрация формулы ДарсиВейсбаха определяющей связь потерь механической энергии потока жидкости по длине трубы с параметрами трубы и течения: 1 где hдл – потери напора на трение подлине м; L – длина опытного участка трубы м; d – диаметр тубы м; V – средняя скорость потока м с; – скоростной напор в живом сечении трубы м; λ – гидравлический коэффициент трения коэффициент Дарси. м3 с м3 с 1 65 000003 78 0000092 82 000037 0000492 2 62 0000029 80 0000095 0000124 3 16...
42753. Исследование трехфазного асинхронного двигателя методом непосредственной нагрузки 71 KB
  Исследование трехфазного асинхронного двигателя методом непосредственной нагрузки. Цель: Ознакомиться с конструкцией асинхронного двигателя с короткозамкнутым ротором. Произвести испытание асинхронного двигателя под нагрузкой научиться снимать её рабочие характеристики. Ход работы: Теоретический материал: А Асинхронный двигатель – это двигатель переменного тока у которого Б Относительное отставание скорости ротора от поля статора называется В Вращающий момент асинхронного двигателя зависит от Г Почему клемму напряжения...
42754. Исследование работы двигателя постоянного тока последовательного возбуждения 59 KB
  Исследование работы двигателя постоянного тока последовательного возбуждения. Цель: Изучить устройство двигателя постоянного тока последовательного возбуждения. а почему не допускается включение двигателя последовательного возбуждения с нагрузкой менее 25 от номинального б что представляет собой рабочие характеристики двигателя последовательного возбуждения в какие способы регулирования частоты применяют для двигателя последовательного возбуждения г чем объясняется свойства двигателя последовательного возбуждения д в чем отличие...
42755. Форматирование абзацев и всего документа 626.5 KB
  Страницы как правило имеют одинаковые размеры. Редактор автоматически разбивает текст на страницы в зависимости от их размеров. Если размеры страницы меняются а это можно делать то автоматически меняются длины и количество строк на странице а также количество страниц. К характеристикам страницы которые могут быть заданы и изменены относятся собственно размеры страницы и поля указывающие расстояние от края листа до границ текста .
42758. Построение циклов с инструкциями „while” и „repeat” 162.5 KB
  Инструкция whiledo Особенность этой инструкции состоит в том что условие проверяется перед входом в тело цикла поэтому цикл while называют еще циклом с предусловием.1 – Синтаксис инструкции whiledo В этом описании условие продолжения это выражение логического типа определяющее условие при котором выполняются инструкции тела цикла . В целом инструкция while выполняется следующим образом: Вычисляется значение выражения условие продолжения . Если значение выражения условие равно flse то есть условие не выполняется выполнение...