Предыдущая Следующая

Описание

Ассемблерная мнемоника

Обновление флаго!

Действие

Групповая загрузка

пользовательских

регистров

LDM{cond}<a_mode4L> Rd{I}, <гедНзг;-рс>Л

 

Загрузка списка регистров используемого режима с указателем [Rn]3>

Команды сохранения в памяти

Сохранение слова

STM{cond} Rd, <a_mode2>

 

[адрес] := Rd

Сохранение слова в привилегированны х пользовательских режимах

STM{cond}T Rd, <a_mode2P>

 

[адрес]:= Rd

Сохранение байта

STM{cond}B Rd, <a_mode2>

 

[адрес] [7:0]:= Rd[7:0]

Сохранение байта в привилегированны х пользовательских режимах

STM{cond}BT Rd, <a_mode2P>

 

[адрес][7:0]:= Rd[7:0]

Сохранение полуслова

STM{cond}H Rd, <a_mode3>

 

[адрес][15:0].= Rd[15:0]

Групповое сохранение в операции со стеком (PUSH)

STM{cond}<a_mode4S> Rn{!}, <reglist>

 

Сохранение списка регистров с указателем [Rn]

Групповое сохранение пользовательских регистров

STM{cond}<a_mode4S> Rn{!},

 

Сохранение списка регистров используемого режима с указателем [Rn]3)

Команды обмена

Обмен словами

SWP{cond} Rd, Rm, [Rn]

 

temp:= [Rn], [Rn]:= Rm, Rd:= temp

Обмен байтами

SWP{cond}B Rd, Rm, [Rn]

 

temp:= нулевое заполнение (Rn [7:0]), Rn[7:0]:= Rm[7:0], Rd:= temp

Команды сопроцессора

Операции с данными (выполнение команды сопроцессором)

CDP{cond} <cpnum>, <opl>, CRd, CRn, CRm, <op2>

 

Сопроцессор определен

Пересылка из регистров ARM в регистры сопроцессора

MRC(cond) <cpnum>, <opl>, Rd, CRn, CRm, <op2>

 

Сопроцессор определен

Пересылка из регистров сопроцессора в регистры ARM

MCR{cond} <cpnum>, <opl>, Rd, CRn, CRm, <op2>

 

Сопроцессор определен

Загрузка данных в сопроцессор из памяти

LDC{cond} <cpnum>, CRd, <a_mode5>

 

Сопроцессор определен

Сохранение регистров сопроцессора в памяти

STC{cond} <cpnum>, CRd, <a_mode5>

 

Сопроцессор определен

Программное прерывание

SWKcond} <24bit_Imm>

 

Переход в режим Supervisor, LR:= PC, РС:= 0x0008 (24-битное значение содержится в коде команды)

Метка label должна находиться в пределах +32 Мбайт от текущей команды.

2) В качестве Rd нельзя указывать R15.

3) Используется только в привилегированных режимах.

Режим адресации, обозначенный при описании форматов и ассемблерных мнемоник команд процессора ARM7TDMI-S как <a_mode2>, описан в Табл. 1.8.

Режим адресации, обозначенный при описании форматов и ассемблерных мнемоник команд процессора ARM7TDMI-S как <a_mode2P>, описан в Табл. 1.9.

Таблица 1.8. Режим адресации 2 (<a_modeZ>), используемый в командах перемещения слов или байтов без знака

Операция

Ассемблерная мнемоника

Примечание

Преиндексное непосредственное смещение

[Rn, #+/-12bit_Imm] {!}

 

Преиндексное нулевое смещение

[Rn]

Эквивалентно [Rn, #0]

Преиндексное регистровое смещение

[Rn, +/-Rm] {!}

 

Преиндексное масштабированное регистровое смещение

[Rn, #+/-Rm, LSL #5bit_lmm] {!}

Допустимые сдвиги 0...31

[Rn, #+/-Rm, LSR #5bit_lmm] (!)

Допустимые сдвиги 1...32

[Rn, #+/-Rm, ASR #5bit_Imm] {!}

Допустимые сдвиги 1...32

[Rn, #+/-Rm, ROR #5bit_lmm] (!)

Допустимые сдвиги 1...31

[Rn, #+/-Rm, RRX] {!}

 

Постиндексное непосредственное смещение

[Rn], #+/-12bit_Imm

 

Постиндексное регистровое смещение

[Rn], #+/-Rm

 

Постиндексное масштабированное регистровое смещение

[Rn], #+/-Rm, LSL #5bit_Imm

Допустимые сдвиги 0...31

[Rn], #+/-Rm, LSR #5bit_Imm

Допустимые сдвиги 1...32

[Rn], #+/-Rm, ASR #5bit_Imm

Допустимые сдвиги 1...32

[Rn], #+/-Rm, ROR #5bit_Imm

Допустимые сдвиги 1...31

[Rn], #+/-Rm, RRX

 

Таблица 1.9. Режим адресации 2 (<a_mode2P>), используемый в привилегированных пользовательских режимах только с постиндексным смещением

Операция

Ассемблерная мнемоника

Примечание

Постиндексное непосредственное смещение

[Rn], #+/-12bit_Imm

 

Постиндексное нулевое смещение

[Rn]

Эквивалентно [Rn], #0

Постиндексное регистровое смещение

[Rn], #+/-Rm

 

Постиндексное масштабированное регистровое смещение

[Rn], #+/-Rm, LSL #5bit_Imm

Допустимые сдвиги 0...31

[Rn], #+/-Rm, LSR #5bit_Imm

Допустимые сдвиги 1...32

[Rn], #+/-Rm, ASR #5bit_Imm

Допустимые сдвиги 1...32

[Rn], #+/-Rm, ROR #5bit_Imm

Допустимые сдвиги 1...31

[Rn], #+/-Rm, RRX

 

Таблица 1.10. Режим адресации 3 (<a_mode3>) для команд перемещения полуслов и байтов со знаком


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_24.html on line 725

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_24.html on line 725

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_24.html on line 725