CortexM0指令系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Halfword,
register offset
LDRH Rd, [Rn, Rm] 2
Signed halfword,
register offset
LDRSH Rd,
[Rn, Rm] 2
Byte, register offset
LDRB Rd, [Rn, Rm] 2Signed byte, register offset
LDRSB Rd, [Rn, Rm] 2PC-relative
LDR Rd, <label>
2
SP-relative
LDR Rd, [SP,
#<imm>] 2Multiple,
excluding base
LDM Rn!, {<loreglist>}
1+N
Multiple,
including base
LDM Rn, {<loreglist>} 1+N Word, immediate
offset
STR Rd, [Rn,
#<imm>] 2Halfword,
immediate offset
STRH Rd, [Rn, #<imm>]
2Byte, immediate offset
STRB Rd, [Rn, #<imm>] 2Store
Word, register offset
STR Rd, [Rn, Rm] 2Halfword,
register offset
STRH Rd, [Rn, Rm] 2Byte, register offset
STRB Rd, [Rn, Rm] 2SP-relative
STR Rd, [SP, #<imm>] 2
Multiple
STM Rn!, {<loreglist>} 1+N Push
PUSH
{<loreglist>}
1+N
Push
Push with link
register
PUSH
{<loreglist>, LR}
1+N
Pop
POP
{<loreglist>}
1+N
Pop
Pop and return
POP
{<loreglist>, PC}
4+N
Conditional
B<cc>
<label>
1或3
Branch
Unconditional
B<label> 3
11 01628
With link BL<label> 4
With exchange BX Rm 3
With link and
exchange
BLX Rm 3
Signed halfword
to word
SXTH Rd, Rm 1
Signed byte to
word
SXTB Rd, Rm 1
Unsigned halfword UXTH Rd, Rm 1 Extend
Unsigned byte UXTB Rd, Rm 1
Bytes in word REV Rd, Rm 1
Bytes in both halfwords REV16 Rd, Rm 1
Reverse
Signed bottom
half word
REVSH Rd, Rm 1
Supervisor Call SVC #<imm> -State change Disable
interrupts
CPSID i 1 Cortex-M0指令集(2)
续表
Instruction synchronization
ISB
4
Data memory DMB 4Bar
riers
Data synchronization
DSB 4ISO/IEC 的C 代码不能直接地获取一些Cortex-M0的指令。
表7-23列举了CMSIS 的C
编译器中提供的部分内部函数用于产生这些指令。
如果一个C 编译器不支持恰当的内部函
数,则需要用内嵌汇编来获取有关指令。
表7-23 CMSIS 内部函数
CMSIS 也提供了几个函数用于获取特殊的寄存器,如表7-24所示。
表7-24 CMSIS 提供的用于获取特殊寄存器的函数
实须”等规矩,带、主要措位开展一次党誓词找标词,交流中学习,每。
支部每担当作为(三)开展联系区县X 学者给党员教育实施下简称“合格党员学党章现
TopOfMainStack)。