这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【转载】学习ARM指令的必要性----from三叶

共1条 1/1 1 跳转至

【转载】学习ARM指令的必要性----from三叶

工程师
2024-04-21 21:03:56     打赏

学习ARM指令的必要性在于:

提高嵌入式系统的开发能力:ARM指令集广泛应用于嵌入式系统,了解ARM指令可以提高嵌入式系统的开发能力。

提高软件开发效率:ARM指令是一种精简的指令集,可以提高软件开发效率,同时也可以降低系统的成本。

提高系统安全性:了解ARM指令可以帮助开发人员更好地理解系统的运行机制,从而提高系统的安全性。

支持优化程序性能:了解ARM指令可以帮助开发人员更好地优化程序性能,从而提高系统的运行效率。

获得更好的就业机会:掌握ARM指令可以让人在嵌入式系统开发领域获得更好的就业机会。

   以下是部分指令:

ARM 处理器组建了可以与数据处理指令(ADC、ADD、AND、BIC、CMN、CMP、EOR、MOV、MVN、ORR、RSB、SBC、SUB、TEQ、TST)一起使用的桶式移位器(barrel shifter)。你还可以使用桶式移位器影响在 LDR/STR 操作中的变址值。
译注:移位操作在 ARM 指令集中不作为单独的指令使用,它是指令格式中是一个字段,在汇编语言中表示为指令中的选项。如果数据处理指令的第二个操作数或者单一数据传送指令中的变址是寄存器,则可以对它进行各种移位操作。如果数据处理指令的第二个操作数是立即值,在指令中用 8 位立即值和 4 位循环移位来表示它,所以对大于 255 的立即值,汇编器尝试通过在指令中设置循环移位数量来表示它,如果不能表示则生成一个错误。在逻辑类指令中,逻辑运算指令由指令中 S 位的设置或清除来确定是否影响进位标志,而比较指令的 S 位总是设置的。在单一数据传送指令中指定移位的数量只能用立即值而不能用寄存器。
下面是给不同的移位类型的六个助记符:
LSL 逻辑左移
ASL 算术左移
LSR 逻辑右移
ASR 算术右移
ROR 循环右移
RRX 带扩展的循环右移
ASL 和 LSL 是等同的,可以自由互换。
你可以用一个立即值(从 0 到 31)指定移位数量,或用包含在 0 和 31 之间的一个值的寄存器指定移位数量。

来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]