自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (4)
  • 收藏
  • 关注

原创 刘帅嵌入式系统-批量Load/Store内存访问指令

批量load内存访问指令可以一次从连续的内存单元中读取数据,传送到指令中的内存列表中的各个寄存器中。批量store内存访问指令可以将指令中寄存器列表中的各个寄存器值写入到内存中,内存的地址由指令中的寻址模式确定。批量Load/Store内存访问指令的语法格式如下:LDM|STM{< cond >} < addressing_mode > Rn{!}, &lt...

2019-06-05 22:59:05 309

原创 刘帅嵌入式系统-STRBT用户模式的字节数据写入指令

STRBT指令用于将一个8位的字节数据写入到指令中指定的内存单元。当在特权级的处理器模式下使用本指令时,内存系统将该操作当作一般用户模式下的内存访问操作。指令的编码格式令的编码格式LDR{< cond >}BT< Rd >, < Post_indexed_addressing_mode >其中: < cond >为指...

2019-05-30 22:06:43 1139

原创 刘帅嵌入式系统-STRT用户模式字数据写入指令

STRT指令用于将一个32位的字数据写入到指令中指定的内存单元。当在特权级的处理器模式下使用本指令时,内存系统将该操作当作一般用户模式下的内存访问操作。指令的编码格式指令的编码格式LDR{< cond >}T< Rd >, < Post_indexed_addressing_mode >其中: < cond >为指令...

2019-05-29 22:56:18 700

原创 刘帅嵌入式系统-STRH半字数据写入指令

STRH指令用于将一个16位的半字数据写入到指令中指定的内存单元。该半字数据为指令中存放源操作数的寄存器的低16位。如果指令中的内存地址不是半字对齐的,指令会产生不可预知的结果。指令的编码格式指令的编码格式LDR{< cond >}H < Rd >, < addressing_mode >其中: < cond >为指...

2019-05-28 23:03:58 1249

原创 刘帅嵌入式系统-STRB字节数据写入指令

STRB指令用于将一个8位的字节数据写入到指令中指定的内存单元。该字节数据为指令中存放源操作数的寄存器的低8位。指令的编码格式指令的编码格式LDR{< cond >}B < Rd >, < addressing_mode >其中: < cond >为指令执行的条件码。当< cond >忽略时,指令为无条件执行...

2019-05-27 22:45:27 1799

原创 刘帅嵌入式系统-STR字数据写入指令

STR指令用于将一个32位的字数据写入到指令中指定的内存单元。指令的编码格式指令的编码格式LDR{< cond >} < Rd >, < addressing_mode >其中: < cond >为指令执行的条件码。当< cond >忽略时,指令为无条件执行。 < Rd >为目标寄存器。...

2019-05-26 22:44:04 1108

原创 刘帅嵌入式系统-LDRT用户模式的字数据读取指令

LDRT指令用于从内存中将一个32位的字数据读取到指令中的目标寄存器中。如果指令中寻址方式确定的地址不是字对齐的,则从内存中读出的数值要进行循环右移操作,移位的位数为寻址方式确定的地址的bits[1:0]的8倍。这样对于Little-endian的内存模式,指令想要读取的字节数据存放在目标寄存器的低8位;对于Big-endian的内存模式,指令想要读取的字节数据存放在目标寄存器的bits[31...

2019-05-25 22:14:07 922

原创 刘帅嵌入式系统-LDRSH有符号的半字数据读取指令

LDRSH指令用于从内存中将一个16位的半字数据读取到指令中的目标寄存器中。并将寄存器的高12位设置成该半字数据的符号位的值(即将该16位半字数据进行符号位扩展,生成32位字数据)。如果指令中的内存地址不是半字对齐的,指令会产生不可预期的结果。指令的编码格式指令的语法格式LDR{< cond >}SH < Rd >, < post_indexed_addr...

2019-05-24 22:26:33 2959 1

原创 刘帅嵌入式系统-LDRSB有符号的字节数据读取指令

LDRSB指令用于从内存中将一个8位的字节数据读取到指令中的目标寄存器中。并将寄存器的高24位设置成该字节数据的符号位的值(即将该8位字节数据进行符号位扩展,生成32位字数据)。指令的编码格式指令的语法格式LDR{< cond >}SB < Rd >, < post_indexed_addressing_mode >其中:< cond &g...

2019-05-23 22:36:06 3949 1

原创 刘帅嵌入式系统-LDRH半字节数据读取指令

LDRH指令用于从内存中将一个16位的半字节数据读取到指令中的目标寄存器中。并将寄存器的高16位清零。如果指令中的内存地址不是半字对齐的,指令会产生不可预知的结果。指令的编码格式指令的语法格式LDR{< cond >}H < Rd >, < post_indexed_addressing_mode >其中:< cond >为指令执行的...

2019-05-22 22:45:38 1495

原创 刘帅嵌入式系统-LDRBT用户模式的字节数据读取指令

LDRBT指令用于从内存中将一个8位的字节数据读取到指令中的目标寄存器中。并将寄存器的高24位清零。当在特权级的处理器模式下使用本指令时,内存系统将该操作当作一般用户模式下的内存访问操作。指令的编码格式指令的语法格式LDR{< cond >}BT < Rd >, < post_indexed_addressing_mode >其中:< co...

2019-05-21 23:05:14 420

原创 刘帅嵌入式系统-LDRB字节数据读取指令

LDRB指令用于从内存中将一个8位的字节数据读取到指令中的目标寄存器中。并将寄存器的高24位清零。指令的编码格式指令的语法格式LDR{< cond >}B < Rd >, < addressing_mode >其中:< cond >为指令执行的条件码。当< cond >忽略时,指令为无条件执行。< Rd >为...

2019-05-20 23:11:05 3690

原创 刘帅嵌入式系统-LDR字数据读取指令

LDR指令用于从内存中将一个32位的字读取到指令中的目标寄存器中。如果指令中寻址方式确定的地址不是字对齐的,则从内存中去读的数值要进行循环右移操作,移位的位数为寻址方式确当的地址的bits[1:0]的8倍。这样队医little-endian的内存模式,指令想要读取的字节数据存放在目标寄存器的低8位;对于Big-endian的内存模式,指令想要读取的字节数据存放的目标寄存器的bits[31:23]...

2019-05-19 23:50:03 1168

原创 刘帅嵌入式系统-Load/Store内存访问指令

Load指令用于从内存中读取数据放入寄存器中;Store指令用于将寄存器中的数据保存到内存。ARM有两大类Load/Store指令:一类用于操作32位的字类型数据以及8位无符号的字节类型数据;另一类用于操作16位半字类型的数据以及8位的有符号字节类型的数据。Load/Store内存访问指令的一个操作数放在寄存器中,另一个操作数的寻址方式可以参考之前介绍的操作数寻址方式章节。用于操作32位的字...

2019-05-18 21:18:38 1263

原创 刘帅嵌入式系统-MSR指令

MSR指令用于将通用寄存器的内容或一个立即数传送到状态寄存器中。指令的编码格式指令的源操作数为通用寄存器时,指令编码格式如下:指令的源操作数为立即数时,指令编码格式如下:指令的语法格式MSR{< cond >} CPSR_< fields >, #< immediate >MSR{< cond >} CPSR_< fields...

2019-05-17 23:05:27 865

原创 刘帅嵌入式系统-状态寄存器访问指令

ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据。关于状态寄存器,这里仅强调以下几点。状态寄存器中,有些位是当前没有使用的,但在ARM将来的版本中有可能使用这些位,因此用户程序不要使用这些位。程序不能通过直接修改CPSR中的T控制位直接将程序状态切换到Thumb状态,必须通过BX等指令完成程序状态的切换。通常修改状态寄存器是通过"读取-修改-写回"的操作序列来实现的。状态寄...

2019-05-16 22:44:25 490

原创 刘帅嵌入式系统-杂类的算术指令

在ARMv5及以上的版本中,包含一条特别的指令CLZ,用于计算操作数最高端0的个数。这条指令主要用于以下两种场合:计算操作数规范化(使其最高位为1)时需要左移的位数。确定一个优先级掩码中最高优先级(最高位的优先级)。CLZ前导0个数计数指令CLZ指令用于计算寄存器中操作数最高端0的个数。如果操作数的bit[31]为1,则指令返回0;如果操作数为0,则指令返回32。指令的编码格式...

2019-05-15 23:05:41 303

原创 刘帅嵌入式系统-UMLAL指令

UMLAL指令实现两个32位的无符号数的64位乘积结果与< RdHi >和 < RdLo >中的64位无符号数相加,加法结果的高32位存放到一个32位寄存器中,乘积结果的低32位存放到另一个32位的寄存器< RdLo >中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。指令的编码格式指令的语法格式UMLAL{< cond >} ...

2019-05-14 22:27:04 770

原创 刘帅嵌入式系统-UMULL指令

UMULL指令实现两个32位的无符号数的乘积,乘积结果的高32位存放到一个32位寄存器的< RdHi >中,乘积结果的低32位存放到另一个32位的寄存器< RdLo >中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。考虑指令执行的效率,指令中所有操作数都存放在寄存器中。指令的编码格式指令的语法格式UMULL{< cond >} {S} &...

2019-05-13 23:00:45 2102

原创 刘帅嵌入式系统-SMLAL指令

SMLAL指令实现两个32位的有符号数的64位乘积结果与< RdHi >和 < RdLo >中的64位数相加,加法结果的高32位存放到一个32位寄存器中,乘积结果的低32位存放到另一个32位的寄存器< RdLo >中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。指令的编码格式指令的语法格式SMLAL{< cond >} {S}...

2019-05-12 22:03:46 762

原创 刘帅嵌入式系统-SMULL指令

SMULL指令实现两个32位的有符号数的乘积,再将乘积加上第3个操作数,乘积结果的高32位存放到一个32位寄存器的< RdHi >中,乘积结果的低32位存放到另一个32位的寄存器< RdLo >中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。考虑指令执行的效率,指令中所有操作数都存放在寄存器中。指令的编码格式指令的语法格式SMULL{< con...

2019-05-11 22:19:34 1566

原创 刘帅嵌入式系统-MLA指令

MLA指令实现两个32位的数(可以为无符号,也可以为有符号)的乘积,再将乘积加上第3个操作数,并将结果存放到一个32位的寄存器中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。考虑指令执行的效率,指令中所有操作数都存放在寄存器中。指令的编码格式指令的语法格式MLA{< cond >} {S} < Rd >, < Rm >, < Rs ...

2019-05-10 21:18:41 3624

原创 刘帅嵌入式系统-乘法指令

ARM有两类乘法指令:一类为32位的乘法指令,即乘法操作的结果为32位;另一类为64位的乘法指令,即乘法操作的结果为64位。两类指令共有以下6条。MUL:32位乘法指令MLA:32位带加数的乘法指令SMULL:64位有符号数乘法指令SMLAL:64位带加数的有符号数乘法指令UMULL:64位无符号数乘法指令UMLAL:64位带加数的无符号数乘法指令MULMUL指令实现两个32...

2019-05-09 22:19:44 600

原创 刘帅嵌入式系统-TEQ相等测试指令

TEQ指令将< shifter_operand > 表示的数值与寄存器< Rn >的值按位做逻辑异或操作,根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式TEQ{< cond >} {S} < Rd >, < Rn> ,< shifter_operand >其中:< cond &...

2019-05-08 22:27:31 457

原创 刘帅嵌入式系统-TST位测试指令

TST指令将< shifter_operand > 表示的数值与寄存器< Rn >的值按位做逻辑与操作,根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式TST{< cond >} {S} < Rd >, < Rn> ,< shifter_operand >其中:< cond &g...

2019-05-07 22:36:36 2217

原创 刘帅嵌入式系统-CMN基于相反数的比较指令

CMN指令将寄存器Rn中的值加上< shifter_operand > 表示的数值,根据操作的结果更新CPSR中相应的条件标志位,后面的指令就可以根据CPSR中相应的条件标志位来判断是否执行了。指令的编码格式指令的语法格式CMN{< cond >} {S} < Rd >, < Rn> ,< shifter_operand &...

2019-05-06 21:20:44 935

原创 刘帅嵌入式系统-CMP比较指令

CMP指令从寄存器Rn中减去< shifter_operand > 表示的数值,根据操作的结果更新CPSR中相应的条件标志位,后面的指令就可以根据CPSR中相应的条件标志位来判断是否执行了。指令的编码格式指令的语法格式CMP{< cond >} {S} < Rd >, < Rn> ,< shifter_operand &gt...

2019-05-05 23:28:46 1116

原创 刘帅嵌入式系统-BIC位清除指令

BIC指令将< shifter_operand > 表示的数值与寄存器< Rn >值的反码按位做逻辑与操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式BIC{< cond >} {S} < Rd >, < Rn> ,< shifter...

2019-05-04 21:35:59 1815

原创 刘帅嵌入式系统-EOR逻辑异或操作指令

EOR指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑异或操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式EOR{< cond >} {S} < Rd >, < Rn> ,< shifter_o...

2019-05-03 21:25:30 1944

原创 刘帅嵌入式系统-ORR逻辑或操作指令

ORR指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑或操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式ORR{< cond >} {S} < Rd >, < Rn> ,< shifter_op...

2019-05-02 22:22:16 2097

原创 刘帅嵌入式系统-AND逻辑与操作指令

AND指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑与操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式AND{< cond >} {S} < Rd >, < Rn> ,< shifter_op...

2019-05-01 21:23:51 945

原创 刘帅嵌入式系统-RSC逆向减法指令

RSC指令从< shifter_operand > 表示的数值中减去寄存器< Rn >值,再减去寄存器CPSR中C标志位的反码,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式RSC{< cond >} {S} < Rd >, < Rn> ,&l...

2019-04-29 20:41:16 1201

原创 刘帅嵌入式系统-RSB逆向减法指令

RSB指令从< shifter_operand > 表示的数值中减去寄存器< Rn >值,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式RSB{< cond >} {S} < Rd >, < Rn> ,< shifter_operand ...

2019-04-28 22:17:23 3365

原创 刘帅嵌入式系统-SUB减法指令

SUB指令从寄存器< Rn >中减去< shifter_operand > 表示的数值,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式SUB{< cond >} {S} < Rd >, < Rn> ,< shifter_operand &...

2019-04-27 21:44:00 4236

原创 刘帅嵌入式系统-ADD加法指令

ADD 指令将< shifter_operand > 表示的数据与寄存器< Rn >中的值相加,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式ADD{< cond >} {S} < Rd >, < Rn> ,< shifter_opera...

2019-04-26 23:49:46 4026

原创 刘帅嵌入式系统-MVN传输指令

MVN指令将< shifter_operand >表示的数据的反码传送到目标寄存器< Rd >中,并根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式MVN{< cond >} {S} < Rd >, < shifter_operand >其中,各参数的用法与MOV传送指令相同。指令操作的伪代码if...

2019-04-25 23:08:41 477

原创 刘帅嵌入式系统-MOV传输指令

MOV传输指令MOV指令将<shifter_operand>表示的数据传送到目标寄存器中,并根据操作的结果更新CPSR中相应的条件标志位。指令的编码格式指令的语法格式MOV {<cond>} {S} , <shifter_operand>其中:为指令执行的条件码。当忽略时,指令为无条件执行。S 决定指令的操作是否影响CPSR中条件标志位的值。当...

2019-04-24 22:24:58 961

原创 刘帅嵌入式系统-数据处理指令

数据处理指令数据处理大致可分为3类:数据传输指令,比如MOV算术逻辑运算指令,如ADD、SUB比较指令,如TST数据传输指令用于向寄存器中传入一个常数。该指令包含一个目标寄存器和一个源操作数,源操作数的计算方法已经在之前介绍,可参考之前的介绍。算术逻辑运算指令通常包括一个目标寄存器和两个源操作数。其中一个源操作数为寄存器的值,另外一个源操作数的计算方法在之前已经介绍,可参考之前的...

2019-04-23 22:26:52 370

原创 刘帅嵌入式系统-BX

BX指令跳转到指令中指定的目标地址,目标地址处的指令可以是ARM指令,也可以是Thumb指。目标地址值为指令的值和0xFFFFFFFF做与操作的结果,目标地址处的指令类型由寄存器的bit[0]决定指令的编码格式指令的语法格式BX {} 其中:为指令执行的条件码。忽略时,指令为无条件执行。寄存器中为跳转的目标地址。当寄存器的bit[0]为0时,目标地址处的指令为ARM指令;当寄存器...

2019-04-22 23:13:45 228

原创 刘帅嵌入式系统-BLX(2)

第二种格式的BLX指令记作BLX(2)。BLX(2)指令从ARM指令集跳转到指定的目标地址,目标地址的指令可以是ARM指令,也可以是Thumb指令。目标地址放在指令中的寄存器中,该地址的bit[0]值为0,目标地址处的指令类型由CPSR中的T位决定。该指令同时将PC寄存器的内容复制到LR寄存器中。指令的编码格式指令的语法格式BLX{} 其中:为指令执行的条件码。当忽略时,指令为无...

2019-04-21 21:25:32 310

Keil.STM32H7xx_DFP.2.3.0.zip

Keil.STM32H7xx_DFP.2.3.0最新pack包,开发必备,省区官网下载

2019-09-04

C语言讲义,初学者专用

这是C语言的ppt,适合初学者。我就是用的这个学习c的。而且学的很好。过了二级!

2012-11-30

1302+1602显示时钟

这是51单片机控制ds1302时钟芯片,在LCD1602显示时钟的程序,不太完整,希望对大家有帮助!

2012-10-30

TFT彩屏介绍

这是TFT的简单说明,玩转彩屏不是梦!本文档是对彩屏的简单介绍,解决彩屏入门问题。

2012-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除