汇编指令
跳转指令
b{cond} <target address>
bl
blx
bx
数据处理指令
mov
mvn
add
adc
sub
rsb
rsc
and
or
eor
bic
cmn
cmp
tst
teq
状态寄存器指令
mrs
msr
ldr
str
ldm
stm
mcr arm和协处理器之间数据交换
mrc
cond 可选的条件代码
Rd 存放返回状态的寄存器
Rt 要加载或存储的寄存器
Rt2 进行双字节加载或存储时要用到的第二个寄存器
Rn 内存地址所基于的寄存器
offset Rn的可选偏移量,只使用在Thumb-2指令中
ARM内嵌汇编
__asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所
跳转指令
b{cond} <target address>
bl
blx
bx
数据处理指令
mov
mvn
add
adc
sub
rsb
rsc
and
or
eor
bic
cmn
cmp
tst
teq
状态寄存器指令
mrs
msr
ldr
str
ldm
stm
mcr arm和协处理器之间数据交换
mrc
cond 可选的条件代码
Rd 存放返回状态的寄存器
Rt 要加载或存储的寄存器
Rt2 进行双字节加载或存储时要用到的第二个寄存器
Rn 内存地址所基于的寄存器
offset Rn的可选偏移量,只使用在Thumb-2指令中
ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。
Store Register
Load Register
LDM --》Load Multiple
STM --》Store Multiple
CP15协处理器部分
mcr 将 ARM 处理器的寄存器中的数据写
到 CP15 中的寄存器中
mcr{<cond>} p15, <opcode_1>, <rd>,<crn>, <crm>, {<opcode_2>}
mrc 将 CP15 中的寄存器中的数据读到
ARM 处理器的寄存器中
mcr{<cond>} p15, <opcode_1>, <rd>,<crn>, <crm>, {<opcode_2>}
mrc p15, 0, r0, c1, c0{, 0} ;将 CP15 的寄存器 C1 的值读到 r0 中
mcr p15, 0, r0, c1, c0{, 0} ;将 r0 的值写到 CP15 的寄存器 C1 中
ARM内嵌汇编
__asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所