Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 125

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 119 120 121 122 123 124 < 125 > 126 127 128 129 130 131 .. 528 >> Следующая

• непосредственную.
Все команды арифметических и логических операций, сравнения и сдвигов
(табл. 2.65-2.67) выполняются только с регистровой и непосредственной
адресацией. Благодаря этому обеспечивается высокая производительность,
так как при обработке данных не требуется выполнять циклов обращения к
шине для выбора операндов. Трехадресный формат команд позволяет исключить
лишние пересылки данных между регистрами. При этом в качестве rD, гА, гВ
указываются номера регистров GPR31-0, определяющие регистр размещения
результата (rD) и регистры операндов (гА, гВ). Непосредственный операнд
со знаком Sim или без знака Ulm задается 32-разрядным словом, следующим
за кодом команды.
Таблица 2.65
Команды арифметических операций
Синтаксис Ассемблера Операция
addi (addis) add (add., addo, addo.) addic (addic.) addc (addc., addco,
addco.) adde (adde., addeo, addeo.) addme (addme., addmeo, addmeo.) addze
(addze., addzeo, addzeo.) rD, rA, Sim rD, rA, rB rD, rA, Sim rD, rA, rB
rD, rA, rB rD, rA rD, rA rA|0 + Sim -> rD ( сдвиг Sim) rA + rB -> rD
rA + Sim -> rD, установка CA rA + rB -> rD, установка CA rA + rB + CA ->
rD, установка CA rA - 1 + CA rD, установка CA rA + С A -"rD, установка CA
subf (subf., subfo, subfo.) subfic subfc (subfc., subfco, subfco.) subfe
(subfe., subfeo, subfeo.) subfme (subfme., subfmeo, subfmeo.) subfze
(subfze., subfzeo, subfzeo.) rD, rA, rB rD, rA, Sim rD, rA, rB rD, rA, rB
rD, rA rD, rA -rA + rB -"rD -rA + Sim -" rD, установка CA -rA + rB ->
rD, установка CA -rA + rB + CA -"rD, установка CA -rA - 1 + CA -> rD,
установка CA -rA + CA -" rD, установка CA
multimullw (mullw., mullwo.mullwo.) mulhw (mulhw.) mulhwu (mulhwu.) rD,
rA, Sim rD, rA, rB rD, rA, rB rD, rA, rB rA * Sim -> rD, знаковое
16x16 rA * rB -"rD, знаковое 16x16 rA * rB -"rD, знаковое 32x32 rA * rB -
> rD, беззнаковое 32x32
divw (divw., divwo, divwo.)divwu (divwu., divwuo, divwuo.) rD, rA, rB
rD, rA, rB rA/гВ -> rD, знаковое 32:32 rA/гВ -> rD, беззнаковое 32:32
neg (neg., nego, nego.) rD, rA -rA -"rD
extsb (extsb.) extsh (extsh.) rD, rS rD, rS rS (мл. байт) -"rD
Расширение rS (мл. п/слова) -> rDJ знаком
RISC-МИКРОПРОЦЕССОРЫ И RISC-МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВ POWERPC И COLDFIRE
Команды загрузки и сохранения содержимого регистров (табл. 2.68)
используют при обращении к памяти косвенно-регистровую адресацию со
смещением или индексированием. Эффективный адрес операнда ЕА определяется
выражениями:
ЕА = (гА! О) + d32 - при адресации со смещением;
ЕА = (гА! О) + (гВ) - при адресации с индексированием,
где гА, гВ - номера регистров общего назначения GPR31-1, d32-32 -
разрядное смещение. Регистр GPR0 не используется при этих способах
адресации: если в качестве номера гА указан нуль, то формируется адрес ЕА
= d32 при адресации со смещением, ЕА = (гВ) при адресации с
индексированием. Так реализуется прямая (абсолютная) адресация с
обращением по заданному в команде адресу d32 и косвенно-регистровая
адресация по адресу, заданному содержимым регистра гВ.
Команды ветвления (табл. 2.69) используют прямую или относительную
адресацию. При этом адресом перехода служит указанный в команде адрес t-
adr или сумма (PC + t-adr).
Все команды микропроцессора имеют 32-разрядный формат кода операции. При
использовании непосредственной адресации после кода команды следует 32-
разрядный операнд. В командах, использующих косвенно-регистровую
адресацию со смещением, после кода операции следует 32-разрядное
смещение, а в командах ветвления - 32-разрядный адрес t-adr. Таким
образом, все команды содержат 4 или 8 байтов.
Команды арифметических операций (табл. 2.65) имеют ряд модификаций,
отличающихся формированием признаков по результатам операций. Если после
мнемокода операции идет символ ".", то по результатам операции
устанавливаются соответствующие значения битов SO, EQ, GT, LT в поле CR0
регистра CR (рис. 2.67, а). Если мнемокод команды имеет суффикс "о", то
по результату ее выполнения устанавливаются биты OV, SO в регистре XER
(рис. 2.67, б), при этом бит SO дублируется в поле CR0. Команды сложения
addic, addc, adde, addme, addze и вычитания subfc, subfic, subfe, subfme,
subfze вызывают установку признака переноса СА в регистре XER по
результату операции. Команда addi при значении гА = 0 производит загрузку
непосредственного операнда со знаком Sim в регистр rD, а при гА =/ О
выполняет сложение этого операнда с содержимым регистра гВ. Команда
непосредственного сложения со сдвигом addis производит при гА =/ 0
сложение содержимого гА с непосредственным операндом Sim, сдвинутым на
четыре разряда влево, а при гА = 0 загружает сдвинутый операнд Sim в
регистр rD.
Таблица 2.66
Команды логических операций
Синтаксис Ассемблера Операция
andi. (andis.) rA, rS, Ulm rS л Ulm -> rA ( сдвиг Uim)
ori. (oris.) rA, rS, Uimr rS v Ulm -> rA ( сдвиг Uim)
xori. (xoris.) A, rS, Ulm rS (c) Ulm -> rA ( сдвиг Uim)
and (and.) rA, rS, rB rS л rB -"rA
or (or.) rA, rS, rB rS v rB -> rA
Предыдущая << 1 .. 119 120 121 122 123 124 < 125 > 126 127 128 129 130 131 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed