АрхЭВМ_Лаб.раб2007_Часть2_Раб4_589 (Методичка по макету МП-589)
Описание файла
Файл "АрхЭВМ_Лаб.раб2007_Часть2_Раб4_589" внутри архива находится в папке "Методичка по макету МП-589". Документ из архива "Методичка по макету МП-589", который расположен в категории "". Всё это находится в предмете "электронные вычислительные машины (эвм)" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "эксплуатация эвм" в общих файлах.
Онлайн просмотр документа "АрхЭВМ_Лаб.раб2007_Часть2_Раб4_589"
Текст из документа "АрхЭВМ_Лаб.раб2007_Часть2_Раб4_589"
ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ
МОСКОВСКИЙ ОРДЕНА ЛЕНИНА, ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ
И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Н.Э.БАУМАНА
КАФЕДРА СИСТЕМЫ ОБРАБОТКИ И УПРАВЛЕНИЯ
Лабораторная работа №4
по курсу «Архитектура ЭВМ»
(5 семестр)
"Исследование секционированных микроэвм на базе микропроцессорного комплекса К-589"
Разработал доцент Спиридонов С.Б.
МОСКВА 2007 г.
Работа №4. Сложение чисел со знаком в дополнительном и обратном кодах.
Продолжительность работы 4 часа.
Представление чисел в обратном и дополнительном кодах позволяет выполнять операцию вычитания, используя обычный сумматор. Таким образом настройка на тип выполняемой операции (суммирование или вычитание) производится автоматически.
Выполнение таких операций основывается на следующих утверждениях:
сумма двух слагаемых в дополнительных кодах выражена в дополнительном коде,
сумма двух слагаемых в обратных кодах выражена в обратном коде,
дополнительный код положительного числа совпадает с его прямым кодом,
обратный код положительного числа совпадает с его прямым кодом.
Для обозначения знака числа используется старший бит в разрядной сетке вычислительного устройства. Принято обозначать положительные числа двоичным нулём, а отрицательные двоичной единицей.
Например:
+5 в записи со знаком при 8 разрядной сетке 0000 0101,
-5 в записи со знаком при 8 разрядной сетке 1000 0101.
Таким образом, под числовую часть числа отводится 7 двоичных разрядов из 8.
Из вышеизложенного материала следует, что преобразованию в дополнительный и обратный коды
подвергаются отрицательные числа.
Правила преобразования из прямого кода для отрицательных чисел следующие:
Преобразование прямого кода отрицательного числа в дополнительный код состоит в инверсии всех разрядов числовой части и добавление затем и инвертированному значению единицы.
Значение бита знака не изменяется при этом преобразовании.
Преобразование прямого кода отрицательного числа в обратный код состоит в инверсии всех разрядов числовой части числа.
Значение бита знака не изменяется при этом преобразовании.
Выполнение суммирования в дополнительном и отрицательном кодах вместе со знаковым разрядом выполняется по-разному.
Для этой операции необходим сумматор разрядность которого соответствует количеству разрядов числовой части +1.
Выполнение суммирования (вычитания) на сумматоре дополнительного кода производится с учётом наличия переноса из старшего разряда числовой части в знаковый разряд. При этом используется стандартная в сумматорах межразрядная связь. Перенос из знакового разряда не учитывается.
Выполнение суммирования (вычитания) на сумматоре обратного кода производится с учётом переноса из старшего разряда числовой части в знаковый разряд и кругового переноса из знакового разряда в младший разряд сумматора.
Работа выполняется на программном имитаторе учебной микроЭВМ МП-589.
Так как разрядность данной ЭВМ - 8 разрядов, то под числовую часть числа отводится
7 разрядов. Используются целые числа со знаком.
Так как интерфейс ввода данных микроЭВМ требует представления их в шестнадцатеричном коде, то числа со знаком будут выглядеть так:
+6 0000 0110- двоичное представление, 06- шестнадцатеричное представление,
-7 1000 0111- двоичное представление, 87- шестнадцатеричное представление.
Необходимо составить программу суммирования двух целых чисел со знаком в дополнительном и обратных кодах. Два числа со знаком предварительно записываются в две ячейки памяти с клавиатуры данных. результат суммирования должен представляться программой в прямом коде и выводится на дисплейное окно (справа ) при выборе курсором АС (аккумулятора).
Структура программы может быть построена в виде главной программы и подпрограммы.
Так как анализ на отрицательное число и преобразование из прямого кода надо проводить три раза, логично эту проверку и преобразование организовать в подпрограмме.
Из множества команд необходимо пояснить структуру некоторых команд, которые потребуются для выполнения этой программы.
Программы с условными переходами. Подпрограммы, работа со стековой памятью
Краткие сведения из теории
Условные переходы в лабораторном стенде МП 589 организованы на основе мультиплексора MS, формирующего младший адрес микрокоманды (см. рис. 9.6). Код младшего адреса микрокоманды может формироваться одним из восьми возможных устройств, выбираемых микроинструкцией CN. Команды передачи управления используют возможности УУ изменять номер выполняемой команды в зависимости от одного из анализируемых сигналов или заданного адреса. В качестве примера применения подпрограмм и организации условных переходов рассмотрим программу сложения двух чисел в дополнительном коде. Слагаемые в прямых кодах записаны в ячейки ЗУ с адресами 01 и 02, результат вычислений записать по адресу 03.
При записи чисел в прямом коде старший разряд отводится под запись знака числа. Ноль в старшем разряде соответствует положительным числам, единица—отрицательным. Для выполнения задания необходимо организовать преобразование чисел из прямого кода в дополнительный в виде специальной подпрограммы.
Н
а рис. 9.18 подпрограмма, выделена в виде самостоятельного блока программы. Начинается подпрограмма с команды 2, обеспечивающей сдвиг содержимого АС влево на один разряд для проведения анализа знакового разряда. Допустим, что команда 1 подпрограммы записана по адресу 3016.
Команда 2 обеспечивает условный переход к команде 3 при равенстве нулю знакового разряда слагаемого и к команде 4 при равенстве единице знакового разряда. Команда 3 восстанавливает содержимое АС, так как для положительных чисел прямой и дополнительный коды чисел совпадают. Для преобразования отрицательных чисел в дополнительный код в команде 4 мантисса сдвигается на один разряд вправо и в знаковый разряд записывается код единицы, а в команде 5 формируется инверсия содержимого АС, После выполнения этой операции в АС записан обратный код числа. Для получения дополнительного кода к содержимому АС в команде 6 добавляется единица. Завершается подпрограмма командой RETURN, по которой организуются обращение к указателю стека и передача управления команде, записанной при последнем обращении к стеку.
В основной программе командой 1 в АС считывается содержимое ячейки 01 ЗУ. Команда 2 организует обращение к подпрограмме с адресом 30, в которой формируется дополнительный код числа, записанного в АС. Команда 3 переписывает дополнительный код второго слагаемого из АС в регистр RO. Команды 4 и 5 считывают из ЗУ второе слагаемое и формируют его дополнительный код. Команда 6 обеспечивает сложение чисел в дополнительном коде, при этом возможные единицы переноса старшего разряда не учитываются при формировании окончательного результата. Команды 7—12 преобразуют дополнительный код числа в прямой и обеспечивают запись его в ячейку 03 ЗУ.
Порядок выполнения работы.
1. Составить программу сложения чисел в обратном коде.
2. Составить программу сложения чисел в модифицированном обратном коде.
3. Составить программу анализа “переполнения” при сложении чисел в обратном или дополнительном кодах. Переполнение фиксировать но отличию знака результата от совпадающих знаков слагаемых.
4. Составить программу умножения двух четырехразрядных целых чисел в соответствии со схемой, представленной на рис. 9.19.
5. Используя программу умножения как подпрограмму, реализовать вычисление функции n! Вычислить значение функции при n=4; n=5.
6. Составить программу, обеспечивающую последовательное включение светодиодов магистрали D с временной задержкой, равной времени переполнения двух внутренних регистров ЦПЭ.
7. Это задание аналогично заданию 6, но в качестве временной задержки использовать музыкальную программу.
Работа на учебной мини-ЭВМ
1. Разработанные программы ввести в память микроЭВМ. 2. Проверить соответствие введенной и исходной программ. 3. Выполнить введенную программу в режиме покомандного исполнения (RS), фиксируя и анализируя промежуточные результаты и содержимое внутренних регистров ЦПЭ с помощью блока индикации. 4. Выполнить введенные программы в циклическом режиме. Повторить вычисления с измененными исходными данными.
Содержание отчета
Отчет должен содержать: 1. Схему программ. 2. Рабочие программы. 3. Результаты промежуточных значений кодов магистралей A, D, М, зафиксированные в процессе покомандного исполнения программ.
Задания для самопроверки
1. Назовите основные типы команд.
2. Определите основные формы задания адресов в командах условного перехода.
3. Какие команды обеспечивают переход к заданной команде?
4. Опишите условия переходов по команде TZR1.
5. Какой адрес о ПЗУ определяет шестнадцатеричный код команды?
5