Скачиваний:
71
Добавлен:
11.02.2014
Размер:
62.96 Кб
Скачать

Федеральное агентство по образованию

Владимирский Государственный Университет

Кафедра УИТЭС

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

«Организация ветвлений и повторений с помощью языка Ассемблер»

Владимир 2010

Цель работы: изучить методики организации ветвлений и циклов с помощью средств языка Ассемблер.

Ход работы

Задача 1. Разработать программу на языке Ассемблер, реализующуюизвестный алгоритм Евклида по нахождению наибольшего общего делителя двух натуральных чисел:

Текст программы следующий (принимаем значения n1=3 иn2=2):

mvi B,3 ; ввод числа n1 в регистр B

mvi C,2 ; ввод числа n2 в регистр C

sr: ; метка начала сравнения чисел n1 (регистр А) и n2 (B)

mov A,b ;

sub C ;

jz ex ; если n1=n2 (А-C=0), то задача решена

jm no ; если n1<n2 (A-C<0), переходим к метке "no"

mov A,B ; если n1>n2, выполняем n1=n1-n2

sub C ;

mov B,A ;

jmp sr ; переходим обратно к сравнению чисел

no:

mov A,C ; если n1<n2, выполняем n2=n2-n1

sub B ;

mov C,A ;

jmp sr ; переходим обратно к сравнению чисел

ex: ; выходим, если число найдено

mov a,b

hlt

Загружаем программу в симулятор и запускаем на выполнение:

Результат: 01. Проверяем: числа 2 и 3 делятся только на 1.

Задача 2. Задана последовательность 1, 4, 7, … , 1+3n. Разработать программу, которая при заданном числе n подсчитывает количество чётных чисел в последовательности (принимаем значение n=9).

Код программы:

Соседние файлы в папке лабораторные работы по ASSAMBLER