October 19 2017 19:01:55
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Команды сдвигов
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

Таблица 2.68 Команды загрузки и сохранения содержимого регистров GPR

Синтаксис Ассемблера Операция
lbz (lbzu)
lbzx (lbzux)
lhz (lhzu)l
hzx (lhzux)
lha (lhau)
lhax (lhaux)
Iwz (lwzu)
Lwzx (lwzux)
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, байт (ЕА -> 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)
lhbrx (lwbrx)
sthbrx (stwbrx)
rD, rA, rB
rS, rA, rB
(EA) -> rD, перестановка байтов
rS —» (EA), перестановка байтов
Lmw
stmw
rD, d(rA)
rS, d(rA)
(EA) ® rD...GPR31, групповая пересылка
rS...GPR31 ® (EA), групповая пересылка
lswi (lswx)
stswi (stswx)
rD, rA, Nb(rS)
rS, rA, Nb(rB)
(EA) ® rD , пересылка строки
rS ® (EA) , пересылка строки

Команды загрузки и сохранения (табл. 2.68) производят загрузку в регистр GPR с номером rD байта, слова или полуслова (16-разрядное слово) из памяти (команды, начинающиеся с буквы «I» - load), либо записывают в память байт, слово или полуслово из регистра rS (команды, начинающиеся с букв «st» -store). Для обращения к памяти используется косвенно-регистровая адресация со смещением или индексированием. При адресации с индексированием в команде указываются адресный (rА) и индексный (rВ) регистры (мнемокод этих команд заканчивается буквой «х»), при адресации со смещением -адресный регистр (fА) и смещение d32. При загрузке байта (команды lbz, lbzx) старшие разряды регистра rD заполняются нулями (расширение нулями). При загрузке полуслова старшие разряды заполняются либо нулями (команды Ihhz, Ihzx), либо значением старшего (знакового) бита b15 загружаемого слова (команды lha, lhax, расширение знаком).

Команды загрузки-сохранения имеют модификации с суффиксом и (указаны в скобках). При наличии данного суффикса в регистр rА после пересылки загружается эффективный адрес ЕА, использованный в данной команде. Эти модификации позволяют, например, реализовать постинкрементную адресацию байтов, полуслов или слов, если задать в соответствующих командах значения смещения d32 = 1,2 или 4. В командах загрузки с суффиксом и нельзя использовать номера rD = гА, при этом реализуется исключение с адресом вектора Av = $00700 (неправильный код команды, табл. 2.64).

Команды Ihbrz, Iwbrz осуществляют перестановку байтов при загрузке в регистр rD полуслова (Ihbrz) или слова (Iwbrz). Команды sthbrx, stwbrx выполняют аналогичную перестановку байтов при записи из регистра rS в память полуслова (sthbrx) или слова (stwbrx).

Команды групповой пересылки Imw, stmw производят загрузку или запись в память содержимого группы регистров, начиная с заданного в команде номера rD или rS до последнего регистра с номером GPR31. Загружаемые или записываемые данные располагаются в ячейках памяти, начиная с адреса ЕА, определяемого косвенно-регистровой адресацией со смещением. Регистр rА не должен входить в группу адресуемых регистров, иначе реализуется исключение с адресом Av = $00700 (неправильный код команды).

Команды пересылки строк символов Iswi, Iswx, stswi, stswx осуществляют загрузку в регистры или запись в память п символов (байтов). Число пересылаемых байтов задается данным в команде операндом Nb (команды Iswi, stswi), или значением 8 старших битов (поле SS, рис. 2.67, а) в регистре XER (команды Iswx, stswx). Начальный адрес пересылаемых байтов ЕА = (гА) - для команд Iswi, stswi (косвенно-регистровая адресация) и ЕА = (rА!0) + (rВ) - для команд Iswx, stswx (адресация с индексированием). Данные в регистрах размещаются или выбираются, начиная с младшего байта регистра rD или rS.

Команды вызывают исключение с адресом Av = $00700 (неправильный код команды), если гА или гВ входит в число регистров, в которые загружается или из которых выбирается строка символов.

Команды bclr, bclrl реализуют условный возврат из подпрограмм, если заданное значение ВО совпадает с содержимым поля CRi. При этом в программный счетчик PC загружается содержимое регистра связи LR. Команда bcrlri сохраняет в регистре LR текущее содержимое PC, обеспечивая возможность возвращения к подпрограмме.

Таблица 2.69 Команды управления программой

Синтаксис Ассемблера Операция
b
ba
bl
bla
t - adr
t - adr
t - adr
t - adr
PC + (t - adr) ® PC
(t - adr) ® PC
PC ® LR, PC + (t - adr) ® PC
PC ® LR, (t - adr) ® PC
bc
bca
bcl
bcla
BO, Bl, t – adr
BO, Bl, t – adr
BO, Bl, t – adr
BO, Bl, t – adr
PC + (t - adr) -> PC, если ВО = Cri
(t - adr) -> PC, если ВО = Cri
PC -> LR, PC + (t - adr) -> PC, если ВО = Cri
PC -> LR, (t - adr) -> PC, если ВО = CRi
bclr
bclrl
bectr
bcctrl
BO, Bl
BO, Bl
BO, Bl
BO, Bl
LR -> PC, если ВО = Cri
PC -> LR, если ВО = Cri
CTR -> PC, если ВО = Cri
PC -> LR, CTR -» PC, если ВО = CRi
twi
tw
TO, rA, Sim
TO, rA, rB
-rA + Sim, если ТО, то PC, MSR -> SRRO, SRR1, Ve -> PC -rA + rB, если ТО, то PC, MSR -> SRRO, SRR1, Ve -> PC
Sc
•rfi

PC, MSR ® SRR0, SRR1, Ve ® PC
SRR0, SRR1 ® PC, MSR

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,256,209 уникальных посетителей