Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Lda 2008h

Санкт-Петербургский Государственный Политехнический Университет

Факультет Технической Кибернетики

Кафедра Систем Автоматического управления

 

 

Отчет по лабораторной работе по ВМ системы и сети

Тема: "Умножение чисел"

 

Выполнил: Майоров А.П.

Группа: 3083/2

Проверила: Щербина А.Н.

 

Задание

Написать программу, которая перемножает два однобайтных числа.

Описание

Второй множитель будем хранить в регистре В, а первый множитель (множимое) – в регистровой паре DE. Результат будем сохранять в HL. Перемножение организуем следующим образом: если очередной бит множителя, на который умножается множимое, будет равен нулю, то будем сдвигать множимое влево с добавлением нуля. Если очередной бит – единица, то кроме сдвига нужно еще и увеличить результат на текущее значение множимого.

Для сдвига множимого будем использовать команду RAL для регистров E и D, обнулив перед этим бит переноса. Также можно было воспользоваться командой DAD HL, так как при сдвиге числа влево, его значение увеличивается в два раза.

Для определения очередного бита множителя будем использовать команду RAR.

Выход из программы будет осуществляться после восьми циклов сдвига множимого.

Блок-схема

 

Текст программы

ORG 1000H

;ПРОГРАММА ДЛЯ УМНОЖЕНИЯ ДВУХ ОДНОБАЙТНЫХ ЧИСЕЛ.

;ПЕРЕМНОЖЕНИЕ ПРОИЗВОДИТСЯ ПО БИТАМ

LDA 2000H

MVI D,0H;

MOV E,A; DE - ПЕРВОЕ ЧИСЛО ЗАГРУЖАЕМ ИЗ 2000Н

LDA 2008H

MOV B,A;B - ВТОРОЕ ЧИСЛО ЗАГРУЖАЕМ ИЗ 2008Н

MVI C,8H;СЧЁТЧИК НА СЕМЬ ЦИКЛОВ

LXI HL,0H;ОБНУЛЯЕМ РЕГ. ПАРУ РЕЗУЛЬТАТА

SUM:

;ПРОВЕРКА НА СЛОЖЕНИЕ

STC; БИТ ПЕРЕНОСА РАВЕН 1

CMC; СБРОС БИТА ПЕРЕНОСА НА НУЛЬ

MOV A,B; ЗАГРУЖАЕМ МНОЖИТЕЛЬ

RAR; СДВИГ ВПРАВО

MOV B,A; СОХРАНЯЕМ ИЗМЕНЕНИЯ В B

JNC RE; ЕСЛИ БИТ ПЕРЕНОСА НОЛЬ, ТО НЕ СКЛАДЫВАЕМ

DAD DE; СЛОЖЕНИЕ

RE:

;СДВИГ

STC; БИТ ПЕРЕНОСА РАВЕН 1

CMC; СБРОС БИТА ПЕРЕНОСА НА НУЛЬ


Дата добавления: 2015-07-08; просмотров: 126 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пальцевой счет при запоминании таблицы умножения| Цели и задачи изучения дисциплины

mybiblioteka.su - 2015-2024 год. (0.006 сек.)