Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Арифметические и логические команды




Команда: ADD REGISTER (сложение с регистром)

Символическая форма: ADD R

Описание: (Асе) + (R) ® Асc

Перенос ®С

Содержимое общего регистра R прибавляется к содержимому аккумулятора. Результат сложения становится новым содержимым аккумулятора, а перенос из старшего разряда становится новым содержимым триггера переноса С. Все числа считаются целыми без знаков.

Команда: ADD REGISTER WITH CARRY (сложение с регистром и переносом)

Символическая форма: ADC R

Описание: (Acc) + (R)+(C) ® Асc

Перенос ®С

Содержимое общего регистра R и триггер переноса С прибавляются к содер­жимому аккумулятора. Результат сложения становится новым содержимым акку­мулятора, а перенос из старшего разряда становится новым содержимым триггера переноса С. Все числа считаются целыми без знаков.

Команда: SUBTRACT REGISTER (вычитание регистра)

Символическая форма: SUB R

Описание: (Асе) — (R) ® Асc

Заем ®С

Содержимое общего регистра R вычитается из содержимого аккумулятора. Резуль­тат вычитания становится новым содержимым аккумулятора, а заем в старший разряд становится новым содержимым триггера переноса. Все числа считаются целыми без знака.

Команда: SUBTRACT REGISTER WITH CARRY (вычитание регистра и переноса)

Символическая форма: SBC R

Описание: (АСС) — (R) — (С) ®Асc

Заем ® С

Содержимое общего регистра R и триггера переноса С вычитаются из содержи­мого аккумулятора. Результат вычитания становится новым содержимым акку­мулятора, а заем в старший разряд становится новым содержимым триггера переноса. Все числа считаются целыми без знака.

 

Команда: LOGICAL AND (логическое И)

Символическая форма: AND R

Описание: (Асc) L (R) ® Асc

Над содержимым общего регистра R и аккумулятора поразрядно выполняется операция логического И. Результат становится новым содержимым аккумулятора. Состояние триггера переноса не меняется.

Команда: LOGICAL OR (логическое ИЛИ)

Символическая форма: OR R

Описание: (Асc) V (R) —> Асc

Над содержимым общего регистра R и аккумулятора поразрядно выполняется операция логического ИЛИ. Результат становится новым содержимым аккуму­лятора. Состояние триггера переноса не меняется.

Команда: LOGICAL EXCLUSIVE-OR (логическое ИСКЛЮЧАЮЩЕЕ ИЛИ)

Символическая форма: XOR R

Описание: (Асc) Å (R) ® Асc

Над содержимым общего регистра R и аккумулятора поразрядно выполняется операция логического ИСКЛЮЧАЮЩЕГО ИЛИ. Результат становится новым содержимым аккумулятора. Состояние триггера переноса не меняется.

Команда: COMPLEMENT ACCUMULATOR (обращение аккумулятора)

Символическая форма: СМА

 

Описание: (Асc) ® Асc

Нули в аккумуляторе заменяются на единицы, а единицы—на нули (т. е. осу­ществляется обращение кода в аккумуляторе).

Команда: COMPLEMENT CARRY (обращение переноса)

Символическая форма: CMC

Описание: (С) ® С

Команда: RESET CARRY (сброс переноса)

Символическая форма: RSC

Списание: 0 ® С

Триггер переноса С сбрасывается.

Команда: ROTATE ACCUMULATOR AND CARRY LEFT (циклический сдвиг акку­мулятора и переноса влево)

Символическая форма: RTL

Описание: (С) ® Асс0

(Асеi) ® Ассi+1 i = 0, 1, …, 6

(Асе7) ® С

Содержимое аккумулятора и триггера переноса С как одно целое сдвигаются циклически влево. Содержимое разряда Асс7 попадает на триггер С, а содержи­мое триггера С—в разряд Асс0.

Команды ввода/вывода

Команда:.INPUT (ввод)

Символическая форма: INP

Описание: Устройство ввода [<В2>] ® Асc

Байт данных передается в аккумулятор от устройства ввода, номер которого задан вторым байтом команды INP.

Команда: OUTPUT (вывод)

Символическая форма: OUT

Описание: (Асc) ® устройство вывода [<В2>]

Содержимое аккумулятора передается на устройство вывода, номер которого задан вторым байтом команды OUT.

Специальные команды

Команда:INCREMENT REGISTER PAIR Н AND L (увеличение на 1 содержимого пары регистров Н и L)

Символическая форма: IHL

Описание: (Н) (L) + 1 ® HL

16-разрядное двоичное число, содержащееся в регистрах Н и L, увеличивается на 1 по модулю 216.

Команда: DECREMENT REGISTER PAIR Н AND L (уменьшение на 1 содержимого пары, регистров Н. и L)

Символическая: форма: DHL

Описание: (Н) (L) — 1 ® HL

16-разрядное двоичное число, содержащееся в регистрах Н и L, уменьшается на 1 по модулю 216.

Команда: PUSH DATA ONTO STACK (поместить данные в стек)

Символическая форма: PUSH

Описание: (Stacki) ® Stack i + 2 t = l, 2,..., 6210

0000000 (С) (Асc) ® Stack2

(Н) (L) ® Stack1

Стек опускается дважды. В результате во втором регистре стека оказывается значение аккумулятора с переносом, а в первом (вершине стека) содержимое пары регистров Н и L.

Команда: POP DATA FROM STACK (извлечь данные из стека)

Символическая форма: POP

Описание: (Stack1) ® HL

(Stack L2) ® Acc

(Stack H02) ® C

(Stacki) ® Stacki-2 i = 3, 4,..., 6410

(Stackj) ® Stackyj j = 63, 64

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

Команда: ENABLE INTERRUPT (разрешить прерывания)

Символическая форма: EIT

Описание: 1 ® флажок прерываний

На триггере, называемом флажком прерываний, устанавливается 1 после выполне­ния команды, следующей за данной командой

Команда: DISABLE INTERRUPT (запретить прерывания)

Символическая форма: DIT

Описание: 0 ® флажок прерываний

Триггер, называемый флажком прерываний, сбрасывается.

Команда: NO OPERATION (пустая команда)

Символическая форма: NOP

Описание: При выполнении этой команды никаких действий не выполняется.

Команда: HALT (останов)

Символическая форма: HLT

Описание: Выполнение команд прекращается до прихода импульса на линию „пуск".

 

 

Рис. 4.5 Информационные потоки в фазе выборки -

дешифрации командного цикла

Первый этап выполнения любой команды — это чтение команды из памяти. Чтение каждого байта команды занимает один машинный цикл. На рис. 4.5 показаны основные информационные потоки в фазе выборки-дешифрации командного цикла. 16-битовый адрес первого байта команды передается в память по шине адреса с программного счетчика. Устройство управления формирует сигнал «чтение», благо­даря которому содержимое адресуемой ячейки выдается из памяти на шину данных и затем принимается в регистр команд. Этот первый байт, содержащий код операции, дешифруется дешифратором команд, при этом выясняется, сколько байтов в команде. Одновременно уве­личивается программный счетчик.

Если обнаруживается, что в команде есть еще один или два байта, то затрачивается еще один или два машинных цикла на то, чтобы аналогичным образом выбрать следующий байт или байты из памяти. Однако приемником этих байтов оказывается уже не регистр команд, а либо регистр адреса данных, если команда не является командой с непосредственным адресом (этот путь показан на рис. 4.5), либо один из общих регистров, если команда является командой с непосредст­венным адресом. В любом случае фаза выборки-дешифрации завер­шается после второго синхроимпульса последнего машинного цикла.

 

Фаза выполнения

Следующий этап после выборки — это выполнение команды. Для одних команд выполнение завершается третьим оставшимся синхро­импульсом последнего машинного цикла, для других команд требу­ются дополнительные машинные циклы. Количество дополнительных циклов определяется в блоке управления и синхронизации в зависи­мости от выполняемой команды.

Рассмотрим фазу выполнения некоторых команд нашего микро­процессора. По ходу изложения следует обращаться к табл. 4.2.

 

Команды пересылки

Первой рассмотрим команду пересылки (MOV). По этой команде информация передается либо между двумя общими регистрами, либо между ячейкой главной памяти и общим регистром. На рис. 4.6 по­казаны информационные потоки в фазе выполнения команды MОV при передаче между регистрами.

 

 

Рис. 4.6 Информационные потоки в фазе выполнения команды MOV r from R при усло­вии R≠11112

 

В частности, если в команде задано d = l, то в соответствии с табл. 4.2 содержимое любого регистра от 016 до Е, указанного в поле R команды, передается в один из ре­гистров 016, 116, 216, указанный в поле r команды. Эта передача осу­ществляется третьим синхроимпульсом в том же машинном цикле, в котором был выбран первый байт команды. Таким образом, в рас­смотренном случае командный цикл состоит из одного машинного цикла.

При R = 111112 команда MOV выполняется иначе. В этом особом случае реализуется упомянутый в разнее механизм косвенной ад­ресации. На рис. 4.7 представлен случай, когда по-прежнему d = 1.

 

Рис. 4.7 Информационные потоки в фазе выполнения команды MOV r from R, когда R=11112

 

Содержимое общих регистров Н и L, содержащих соответственно старшие 8 и младшие 8 разрядов адреса, подаются на адресную шину. Затем после подачи импульса «чтение» содержимое адресуемой ячейки главной памяти принимается из шины данных в общий регистр r. Ввиду того что для выполнения команды потребовался внешний обмен, командный цикл занял два машинных цикла.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...