Формат 4: Команды для работы с АЛУ
Рис. 42. Формат 4
Действия
Команды этой группы выполняют АЛУ операции между младшими полусловами регистров. Примечание: все команды этой группы влияют на флаги регистра CPSR.
Табл. 15. Команды формата 4
OP |
THUMB ассемблер |
ARM эквивалент |
Действия |
0000 |
AND Rd, Rs |
ANDS Rd, Rd, Rs |
Rd:= Rd AND Rs |
0001 |
EOR Rd, Rs |
EORS Rd, Rd, Rs |
Rd:= Rd EOR Rs |
0010 |
LSL Rd, Rs |
MOVS Rd, Rd, LSL Rs |
Rd := Rd << Rs |
0011 |
LSR Rd, Rs |
MOVS Rd, Rd, LSR Rs |
Rd := Rd >> Rs |
0100 |
ASR Rd, Rs |
MOVS Rd, Rd, ASR Rs |
Rd := Rd ASR Rs |
0101 |
ADC Rd, Rs |
ADCS Rd, Rd, Rs |
Rd := Rd + Rs + Carry |
0110 |
SBC Rd, Rs |
SBCS Rd, Rd, Rs |
Rd := Rd - Rs - NOT Carry |
0111 |
ROR Rd, Rs |
MOVS Rd, Rd, ROR Rs |
Rd := Rd ROR Rs |
1000 |
TST Rd, Rs |
TST Rd, Rs |
Установить флаги регистра CPSR для Rd AND Rs |
1001 |
NEG Rd, Rs |
RSBS Rd, Rs, #0 |
Rd = -Rs |
1010 |
CMP Rd, Rs |
CMP Rd, Rs |
Установить флаги регистра CPSR для Rd - Rs |
1011 |
CMN Rd, Rs |
CMN Rd, Rs |
Установить флаги регистра CPSR для Rd + Rs |
1100 |
ORR Rd, Rs |
ORRS Rd, Rd, Rs |
Rd := Rd OR Rs |
1101 |
MUL Rd, Rs |
MULS Rd, Rs, Rd |
Rd := Rs * Rd |
1110 |
BIC Rd, Rs |
BICS Rd, Rd, Rs |
Rd := Rd AND NOT Rs |
1111 |
MVN Rd, Rs |
MVNS Rd, Rs |
Rd := NOT Rs |
Число машинных тактов при выполнения команд
Все команды этого формата эквивалентны командам в режиме ARM согласно таблице 15. Число машинных тактов выполнения этих команд в режиме THUMB идентично с числом тактов выполнения ее в режиме ARM. Примечание: для более подробной информации см. соответствующую главу.
Примеры
EOR R3, R4 ; R3 := R3 EOR R4 и установить флаги условий.
ROR R1, R0 ; Сдвиг R1 вправо на число бит, указанное в R0,
; результат поместить в R1 и установить флаги условий.
NEG R5, R3 ; Вычесть содержимое R3 из нуля, разместить результат в регистре R5
; и установить флаги условий. Т.е. R5 = -R3.
CMP R2, R6 ; Установить флаги условий в зависимости от результата R2 - R6.
MUL R0, R7 ; R0 := R7 * R0 и установить флаги условий.
|
Отправимся на отдых, купив туры в Финляндию загодя.
|