ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.12.2023
Просмотров: 118
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ADD AX, BX; складываем значение регистров mov CX, AX; в регистр СХ помещаем содержимое регистра АХОперация вычитания для формата SS:mov AX, 0110; помещаем в регистр АХ значение 0110mov BX, 0010; помещаем в регистр BX значение 0010SUB AX, BX; вычитание значение регистров mov CX, AX; в регистр СХ помещаем содержимое регистра АХ2.3.2 Алгоритм операции произведенияОперация произведения выполняется за несколько тактов операционного автомата. Умножение вычисления как сумма частичных произведений, каждая из которых получается последовательными сдвигами и умножением множимого на соответствующий разряд множителя. Рассмотрим выполнение алгоритма умножения двоичных чисел в прямом коде, начиная с младших разрядов со сдвигом частичного произведения.А = 0111, Апр = 0,0110В = 0010, Впр = 0,0010Sign[A] = 0; Sign[B] = 0C1 = Апр * B1 * 2-1 = 0,0111*0*2-1 = 0,0110*0*0,1 = 0C2 = Апр * B2 * 2-2 = 0,0111*1*2-2 = 0,0110*1*0,01 =110C3 = Апр * B3 * 2-3 = 0,0111*0*2-3 = 0,0110*0*0,001 = 0C4 = Апр * B4 * 2-4 = 0,0111*0*2-4 = 0,0110*0*0,0001 = 0С = С1+С2+С3+С4 = 0+0,000110+0+0 = 0,00001110Проверка0,01100,001000000001110,00001100Операция умножения в ассемблере выполняется с помощью инструкции MUL, которая может работать только с регистрами общего назначения или памятью и не может работать непосредственно с числами. Данная инструкция имеет одинаковый синтаксис для всех форматов:mov AX, 0110; помещаем в регистр АХ значение 0110mov BX, 0010; помещаем в регистр BX значение 0010MUL AX, BX; перемножаем содержимое регистров АХ и ВХ, результат помещаем в АХ.Если в результате вычисления получается число более 8 бит, то для хранения результата вычисления будет использоваться пара регистров DX и AX.2.3.3 Алгоритм операции деленияОперация деления выполняется за несколько тактов операционного автомата. Для операндов с фиксированной запятой она осуществляется путем последовательного вычисления кода делителя из кода делимого и определения знака остатка.Реализовать операцию деления можно двумя способами:˗ деление с неподвижным делимым и сдвигаемым вправо делителем;˗ деление с неподвижным делителем и сдвигаемым влево делимым.Произведем операцию деления с неподвижным делителем и сдвигаемым влево делимым без восстановления остатка. Для реализации данной операции для чисел А и В запишем прямой код, а для делителя В запишем еще дополнительный код.А=0110 Апр=0,0110 В=0010 Впр=0,0010 Вдоп.=1,1101+0,0001=1,1110Частное
1,1101 110,0011
Рисунок 5 – Таблица истинности «Инверсия»На рисунке 6 представим таблицу истинности для конъюнкции.Рисунок 6 – Таблица истинности «Конъюнкция» На рисунке 7 представим таблицу истинности дизъюнкции.Рисунок 7 – Таблица истинности «Дизъюнкция»На рисунке 8 представим таблицу истинности импликации.Рисунок 8 – Таблица истинности «Импликация»На рисунке 9 представим таблицу истинности эквивалентности.Рисунок 9 – Таблица истинности «Эквивалентность»Условные обозначения элементов, приведенных выше логических операций, представим на рисунке 10.а) б) в) г) д)Рисунок 10 – Логические элементыНа рисунке представлены:а) – инверсия; б) – конъюнкция; в) – дизъюнкция; г) – импликация; д) – эквивалентность.2.3.5 Команды пересылкиКоманды пересылки предназначены для операций над словами и строками. Основными командами являются команды MOV и MOVS.Команда MOV пересчитывает 1 байт или слово из памяти в регистр, из регистра в память или из регистра в регистр. Она имеет следующий синтаксис: MOV <получатель>,<источник>При использовании данной команды необходимо учитывать следующие правила: ˗ оба операнда должны иметь одинаковую длину;˗ в качестве одного из операндов обязательно должен использоваться регистр;˗ нельзя пересылать непосредственно заданное значение в сегментный регистр.Команда MOVS предназначена для работы над строками, которые представляют собой последовательность байт. В данной команде в качестве операнда могут использоваться регистры разной длины, но при этом должно выполняться следующее правило: содержимое исходного операнда копируется в больший по размеру регистр получателя данных.
На рисунке 11 представим различные способы, которыми в процессе можно пересылать данные из одного места в другое.Рисунок 11 – Пути пересылки данных2.4 Разработка управляющего устройстваДля обеспечения работы всех устройств и узлов вычислительной машины в соответствии с заданной программой обеспечивается центральным устройством управления (ЦУУ), которая вырабатывает управляющие сигналы необходимые для выполнения.Основными функциями устройства управления являются:˗ определение очередности выборки команд из оперативной памяти;˗ формирование физических адресов операндов;˗ формирование сигналов для выполнения арифметических, логических и иных операций при выполнении программы;˗ операция пуска и остановки вычислительного устройства;˗ обеспечение работы вычислительного устройства в различных режимах.На рисунке 12 представим структурную схему управляющего устройства.Рисунок 12 – Структурная схема управляющего устройстваЦУУ – центральное устройство управления, которое выполняет основные функции по реализации программ. Эти функции оно выполняет через МУУ – местное устройство управления, находящиеся при каждом из устройств, входящих в состав вычислительной машины. Оно реализует специальные алгоритмы, соответствующие принципам действия разных внешних устройств.Последовательность управляющих сигналов, вырабатываемых устройством управления зависит от числа выполняемых арифметических, логических операций и формата используемых команд.2.4.1 Разработка формата командФормат команды – это структура команды с разметкой номеров разрядов, определяющих границы отдельных полей команды. Структура любой команды состоит из нескольких полей, основные из которых представим на рисунке 13.Рисунок 13 – Структура командыКод операции (КОП) указывает какая именно операция (арифметическая, логическая и т.п.) выполняется. В адресной части команды указываются адреса операндов. В зависимости от структуры адресной части различают следующие типы команд:
-
0,0110
-
0,1010
1,1101 110,0011
-
0,0110
-
0,0110
-
0,0110
Рисунок 5 – Таблица истинности «Инверсия»На рисунке 6 представим таблицу истинности для конъюнкции.Рисунок 6 – Таблица истинности «Конъюнкция» На рисунке 7 представим таблицу истинности дизъюнкции.Рисунок 7 – Таблица истинности «Дизъюнкция»На рисунке 8 представим таблицу истинности импликации.Рисунок 8 – Таблица истинности «Импликация»На рисунке 9 представим таблицу истинности эквивалентности.Рисунок 9 – Таблица истинности «Эквивалентность»Условные обозначения элементов, приведенных выше логических операций, представим на рисунке 10.а) б) в) г) д)Рисунок 10 – Логические элементыНа рисунке представлены:а) – инверсия; б) – конъюнкция; в) – дизъюнкция; г) – импликация; д) – эквивалентность.2.3.5 Команды пересылкиКоманды пересылки предназначены для операций над словами и строками. Основными командами являются команды MOV и MOVS.Команда MOV пересчитывает 1 байт или слово из памяти в регистр, из регистра в память или из регистра в регистр. Она имеет следующий синтаксис: MOV <получатель>,<источник>При использовании данной команды необходимо учитывать следующие правила: ˗ оба операнда должны иметь одинаковую длину;˗ в качестве одного из операндов обязательно должен использоваться регистр;˗ нельзя пересылать непосредственно заданное значение в сегментный регистр.Команда MOVS предназначена для работы над строками, которые представляют собой последовательность байт. В данной команде в качестве операнда могут использоваться регистры разной длины, но при этом должно выполняться следующее правило: содержимое исходного операнда копируется в больший по размеру регистр получателя данных.
На рисунке 11 представим различные способы, которыми в процессе можно пересылать данные из одного места в другое.Рисунок 11 – Пути пересылки данных2.4 Разработка управляющего устройстваДля обеспечения работы всех устройств и узлов вычислительной машины в соответствии с заданной программой обеспечивается центральным устройством управления (ЦУУ), которая вырабатывает управляющие сигналы необходимые для выполнения.Основными функциями устройства управления являются:˗ определение очередности выборки команд из оперативной памяти;˗ формирование физических адресов операндов;˗ формирование сигналов для выполнения арифметических, логических и иных операций при выполнении программы;˗ операция пуска и остановки вычислительного устройства;˗ обеспечение работы вычислительного устройства в различных режимах.На рисунке 12 представим структурную схему управляющего устройства.Рисунок 12 – Структурная схема управляющего устройстваЦУУ – центральное устройство управления, которое выполняет основные функции по реализации программ. Эти функции оно выполняет через МУУ – местное устройство управления, находящиеся при каждом из устройств, входящих в состав вычислительной машины. Оно реализует специальные алгоритмы, соответствующие принципам действия разных внешних устройств.Последовательность управляющих сигналов, вырабатываемых устройством управления зависит от числа выполняемых арифметических, логических операций и формата используемых команд.2.4.1 Разработка формата командФормат команды – это структура команды с разметкой номеров разрядов, определяющих границы отдельных полей команды. Структура любой команды состоит из нескольких полей, основные из которых представим на рисунке 13.Рисунок 13 – Структура командыКод операции (КОП) указывает какая именно операция (арифметическая, логическая и т.п.) выполняется. В адресной части команды указываются адреса операндов. В зависимости от структуры адресной части различают следующие типы команд:
-
безадресные; -
одноадресные -
двухадресные; -
трехадресные; -
четырехадресные.