Cortex-M0指令集——ASR

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cortex-M0指令集——ASR相关的知识,希望对你有一定的参考价值。

参考技术A 算术右移指令:

此指令可以方便的将一个寄存器的值除以一个常数。

(1)   ASRS     <Rd>,     <Rm>,    #<imm5>

Rd目的寄存器;

Rm操作数寄存器,存放将要被右移的数据;

imm5指定右移的位数。

实现的操作:Rd = imm5Rm[31], Rm[31:imm5]。

(2)  ASRS     <Rd>,    <Rm>

Rd目的寄存器,同时存放第一个操作数;

Rm指定操作数将要被移动的位数。

实现的操作:Rd = 将Rd右移Rm位。

Cortex-M0指令集——B

参考技术A 跳转指令:

(1)可条件执行的跳转指令

B   <cond>   <target_address>

此指令在计算跳转地址时,将8位立即数左移一位,然后进行有符号位扩展成32位。

即:地址为PC+23imm8[7],imm8,1‘b0。

(2)无条件执行的跳转指令

B     <target_address>

此指令在计算跳转地址时,将11位立即数左移一位,然后进行有符号位扩展成32位。

即:地址为PC+20imm8[7],imm11,1‘b0。

以上是关于Cortex-M0指令集——ASR的主要内容,如果未能解决你的问题,请参考以下文章

Cortex-M0指令集——CMN

Cortex-M0指令集——EOR

Cortex-M0指令集——ADC

Cortex-M0指令集——B

ARM探索之旅 | 二ARM Cortex-M 用什么指令集?

FPU 浮点运算单元和DSP指令