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

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

Вывод

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


 

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

53683. Конспект урока по гимнастике 67.5 KB
  Ходьба: а Руки вверх на носках; б руки на поясе перекатом с пятки на носок. вруки на пояс в полуприседе руки за голову в полном приседе г руки за голову в полном приседе. 2 руки за спину сгибая ноги назад; 3 руки на пояс высоким; 4 бег с крестным левым и правым. Руки в стороны.
53684. Кодирование 84.5 KB
  Что такое графы Как обозначаются графы Что такое круг Что такое точка Что такое стрелочки Дети называют тему. Рассказывают что такое графы. Спрашиваю детей что это такое. А что такое декодирование Декодирование это перевод символов отправителя в мысли получателя.
53685. Линейные алгоритмы 278 KB
  Развивающие: развитие алгоритмического и логического мышления, познавательный интерес обучающихся; развитие творческой активности обучающихся; формирование интереса к изучению предмета;
53686. Технология обработки баз данных. Основные понятия и возможности. Работа с готовой базой данных 75 KB
  Цели: Образовательные: Сформировать представления о назначении и области применения баз данных. Сформировать основные понятия темы База данных Информационная система Система управления базами данных СУБД.
53687. Работа с клавиатурным тренажером 39.5 KB
  Цели: Научить работать с клавиатурным тренажером Потренироваться печатать. Работа по теме урока: Сейчас мы приступим к работе с клавиатурным тренажером. Работа с клавиатурным тренажером. Работа в Блокноте 10 25 4.
53688. Информационные процессы 136 KB
  Цели урока: Ввести понятие информационных процессов познакомить учащихся с понятиями: источник и приемник информации канал связи носитель информации исполнитель. Задачи: Образовательная: изучить понятия: информационные процессы виды информационных процессов; изучить способы хранения передачи и обработки информации; научить приводить примеры получения передачи и обработки информации; научить учеников решать практические задачи на использование изученных понятий. Что такое информация для человека Назовите некоторые...
53690. Рисование с натуры натюрморта «Дары осени» 69 KB
  Ознакомить с натюрмортом как жанром изобразительного искусства; научить выполнять изображение с натуры, различать оттенки красок; развить умение анализировать форму и цветовую окраску овощей.
53691. Рисование с натуры яблока 68.5 KB
  Цели урока: Образовательная: научиться рисовать яблоко с натуры. Воспитательные: воспитать интерес к рисункам с натуры; способствовать формированию положительного отношения к изобразительному искусству пробудить желание творить. Задачи: научить построению рисунка с натуры с применением пропорции; способствовать развитию чувства цвета; стимулировать учащихся к самоконтролю и дисциплине.