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

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

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

память байт, слово или полуслово из регистра rS (команды, начинающиеся с
букв "st" - store). Для обращения к памяти используется косвенно-
регистровая адресация со смещением или индексированием. При адресации с
индексированием в команде указываются адресный (гА) и индексный (гВ)
регистры (мнемокод этих команд заканчивается буквой "х"), при адресации
со смещением - адресный регистр (гА) и смещение d32. При загрузке байта
(команды Ibz, Ibzx) старшие разряды регистра rD заполняются нулями
(расширение нулями). При загрузке полуслова старшие разряды заполняются
либо нулями (команды Ihhz, Ihzx), либо значением старшего (знакового)
бита Ы5 загружаемого слова (команды lha, lhax, расширение знаком).
Таблица 2.68
Команды загрузки и сохранения содержимого регистров GPR
Синтаксис Ассемблера Операция
Ibz (Ibzu) Ibzx (Ibzux) Ihz (lhzu)l hzx (Ihzux) lha (lhau) lhax (lhaux)
Iwz (Iwzu) Iwzx (Iwzux) rD, d(rA) rD, rA, rB rD, d(rA) rD, rA, rB rD,
d(rA) rD, rA, rB rD, d(rA) rD, rA, rB (EA) -> rD, байт (EA -> rA) (EA)
-> rD, байт (EA -> rA) (EA) -> rD, полуслово (EA -> rA) (EA) -> rD,
полуслово (EA -> rA) (EA) -> rD, полуслово (EA -> rA) (EA) -> rD,
полуслово (EA -> rA) (EA) -> rD, слово (EA -"rA) (EA) -> rD, слово (EA ->
rA)
stb (stbu) stbx (stbux) sth (sthu) sthx (sthux) stw (stwu) stwx (stwux)
rS, d(rA) rD, rA, rB rS, d(rA) rD, rA, rB rS, d(rA) rD, rA, rB
rS -> (EA), байт (EA -> rA) rS -> (EA), байт (EA -> rA) rS -> (EA),
полуслово (EA -> rA) rS -> (EA), полуслово (EA -> rA) rS -> (EA), слово
(EA -> rA) rS -> (EA), слово (EA -> rA)
Ihbrx (Iwbrx) sthbrx (stwbrx) rD, rA, rB rS, rA, rB (EA) -> rD,
перестановка байтов rS -> (EA), перестановка байтов
Imw stmw rD, d(rA) rS, d(rA) (EA) -> rD...GPR31, групповая пересылка
rS...GPR31 -> (EA), групповая пересылка
Iswi (Iswx) stswi (stswx) rD, rA, Nb(rS) rS, rA, Nb(rB) (EA) -> rD
, пересылка строки rS -> (EA) , пересылка строки
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Команды загрузки-сохранения имеют модификации с суффиксом и (указаны в
скобках). При наличии данного суффикса в регистр гА после пересылки
загружается эффективный адрес ЕА, использованный в данной команде. Эти
модификации позволяют, например, реализовать постинкрементную адресацию
байтов, полуслов или слов, если задать в соответствующих командах
значения смещения d32 = 1,2 или 4. В командах загрузки с суффиксом и
нельзя использовать номера rD = гА, при этом реализуется исключение с
адресом вектора Av = $00700 (неправильный код команды, табл. 2.64).
Команды Ihbrz, Iwbrz осуществляют перестановку байтов при загрузке в
регистр rD полуслова (Ihbrz) или слова (Iwbrz). Команды sthbrx, stwbrx
выполняют аналогичную перестановку байтов при записи из регистра rS в
память полуслова (sthbrx) или слова (stwbrx).
Команды групповой пересылки Imw, stmw производят загрузку или запись в
память содержимого группы регистров, начиная с заданного в команде номера
rD или rS до последнего регистра с номером GPR31. Загружаемые или
записываемые данные располагаются в ячейках памяти, начиная с адреса ЕА,
определяемого косвенно-регистровой адресацией со смещением. Регистр гА не
должен входить в группу адресуемых регистров, иначе реализуется
исключение с адресом Av = $00700 (неправильный код команды).
Команды пересылки строк символов Iswi, Iswx, stswi, stswx осуществляют
загрузку в регистры или запись в память п символов (байтов). Число
пересылаемых байтов задается данным в команде операндом Nb (команды Iswi,
stswi), или значением 8 старших битов (поле SS, рис. 2.67, а) в регистре
XER (команды Iswx, stswx). Начальный адрес пересылаемых байтов ЕА = (гА)
- для команд Iswi, stswi (косвенно-регистровая адресация) и ЕА = (гАЮ) +
(гВ) - для команд Iswx, stswx (адресация с индексированием). Данные в
регистрах размещаются или выбираются, начиная с младшего байта регистра
rD или rS.
Команды вызывают исключение с адресом Av = $00700 (неправильный код
команды), если гА или гВ входит в число регистров, в которые загружается
или из которых выбирается строка символов.
Управление программой производится командами безусловных и условных
ветвлений (их мнемокоды начинаются с буквы "Ь" - branch), программных
прерываний tw, twi, системного вызова sc и возврата из прерывания rfi
(табл. 2.69). При ветвлениях адрес команды перехода определяется с
помощью прямой (команды Ьа, Ыа, bca, bcla) или относительной (команды b,
Ы, be, bcl) адресации. Заданное в команде число t-adr служит при этом
абсолютным адресом или смещением, определяющим значение адреса перехода.
Если мнемокод команды ветвления имеет суффикс I (команды Ы, Ыа, bcl,
bcla), то при ее выполнении текущее содержимое программного счетчика PC
заносится в регистр связи LR, обеспечивая возможность возвращения к
следующей команде программы. Таким образом, эти команды могут служить для
вызова подпрограмм.
Команды be, bca, bcl, bcla реализуют условные ветвления или вызовы
подпрограмм. Условием ветвления является совпадение содержимого поля CRi
Предыдущая << 1 .. 121 122 123 124 125 126 < 127 > 128 129 130 131 132 133 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed