Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Изучение группы арифметических команд

Автор:   •  Декабрь 4, 2018  •  Лабораторная работа  •  2,488 Слов (10 Страниц)  •  356 Просмотры

Страница 1 из 10

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Институт Компьютерных Систем

Кафедра Компьютерных Систем

По дисциплине: «Микропроцессорные системы»

Тема: " Изучение группы  арифметических команд "

Выполнил:

Студент группы АЕ-161

Иванов А. А.

Проверила: ст. в. Яковлева І.Д.

Вариант 1

Одесса

2018

Цель работы:  "Изучить  особенности  выполнения арифметических команд, разработка алгоритма, составление и отладка программы с использованием этих команд.

Операции с многобайтными числами производятся по байтам, начиная с младших. При сложении (вычитании) многобайтных чисел  младшие байты  чисел складываются ( вычитаются )  командой ADD  (SUB ) все последующие старшие байты командой  ADC  (SBB R).

Краткие теоретические сведения:

        МП может работать с двоичными и с двоично-десятичными числами. Но т.к. двоично-десятичные числа складываются (вычитаются) на двоичном сумматоре, то требуется коррекция результата, для этого используется команда DAA (DAS) - десятичная коррекция.

Команда MUL выполняет умножение двух операндов без учета знаков. Алгоритм зависит от формата операнда команды и требует явного указания местоположения только одного сомножителя, который может быть расположен в памяти или в регистре. Местоположение второго сомножителя фиксировано и зависит от размера первого сомножителя.

Для команды DIV необходимо задание двух операндов — делимого и делителя. Делимое задается неявно и размер его зависит от размера делителя, который указывается в команде. При выполнении операции деления возможно возникновение исключительной ситуации: 0 — ошибка деления. Эта ситуация возникает в одном из двух случаев: делитель равен 0 или частное слишком велико для его размещения в регистре ax/al.

Краткие теоретические сведения:

Часть 1

Мнемокод

Операнд

Комментарий

ADD

Op1,Op2

Сложение значений Op1 и Op2, результат помещается в Op1.                          (Op1)+( Op2) → (Op1)

ADC

Op1,Op2

Сложение значений Op1 и Op2 с учетом флага переноса  СF, результат помещается в Op1.

 (Op1)+( Op2)+(СF) → (Op1)

SUB

Op1,Op2

Вычитание значений Op1 и Op2, результат помещается в Op1.                       (Op1)-( Op2) → (Op1)

SBB

Op1,Op2

Вычитание значений Op1 и Op2 с учетом заема, результат помещается в Op1.          (Op1)-( Op2)-(СF) → (Op1)

INC

Op

Инкремент операнда Op . Содержимое Op увеличивается на1.                   (Op) + 1→ (Op)

DEC

Op

Декремент операнда Op . Содержимое Op уменьшается на 1.                        (Op) - 1→ (Op)  

DAA

Коррекция результата сложения для представления в десятичном виде. AL

DAS

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

Часть 2

Мнемокод

Операнд

Комментарий

MUL

Op

Целочисленное умножение без учета знака

                           (AL)*( Op8) → (AX)

                            (AX)*( Op16) → (DX):(AX)

DIV

Op

Беззнаковое деление

 (AX)/( Op8) → частное а (АL), остаток в (AH)

(DX)(AX)/( Op16) → частное а (АX), остаток в (DX)

AAM

Коррекция после умножения двух неупакованных BCD чисел. Преобразование двоичного числа меньшего 63h (9910) в его неупакованный BCD-эквивалент.

AAD

Коррекция перед делением двух неупакованных BCD чисел. Преобразование двузначного неупакованного ВCD-числа меньшего 63h (9910) в двоичное представление.

...

Скачать:   txt (11.8 Kb)   pdf (448.2 Kb)   docx (91.6 Kb)  
Продолжить читать еще 9 страниц(ы) »
Доступно только на Essays.club