一、arm指令的一般格式
一般arm指令的助记符格式为:
<opcode>{<cond>}
{s} <rd>,<rn>,<op2>
2.
<opcode>是操作码,如add表示算术加操作指令。
3. {<cond>} 决定指令执行的条件域。
4.
{s}是决定指令执行是否影响cpsr寄存器的值。
5. <rd>是目的寄存器。
6.
<rn>是第一个操作数,为寄存器。
7. <op2_operand>是第二个操作数。
二、 条件域<cond>
cond
cpsr中标志位
含 义
eq
z置位
相等
ne
z清零
不相等
cs
c置位
无符号数大于或等于
cc
c清零
无符号数小于
mi
n置位
负数
pl
n清零
正数或零
vs
v置位
溢出
vc
v清零
未溢出
hi
c置位z清零
无符号数大于
ls
c清零z置位
无符号数小于或等于
ge
n等于v
带符号数大于或等于
lt
n不等于v
带符号数小于
gt
z清零且n等于v
带符号数大于
le
z置位或n不等于v
带符号数小于或等于
al
忽略
无条件执行
三、寻址方式
1.立即数寻址
2.寄存器寻址
3.寄存器移位寻址
4.寄存器间接寻址
5.基址变址寻址
6.相对寻址
7.多寄存器寻址
8.块拷贝寻址
9.堆栈寻址