摘要:
ARM乘法指令完成两个数据的乘法,两个32位二进制数相乘的结果是64位的4积。其中: 1、“RadHi:RdLo”是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形成的64位数,“[31:0]”只选取结果的最低有效32位 2、简单的赋值由“:=”表示 3、累加(将右边加到左边)是由“+=”表示一、MUL乘法指令 1、作用 将Rm和Rs中的值相乘,结果的最低32位保存到Rd中 2、语法格式 MUL{}{S} ,, 3、参数说明 3.1、S:S位(bit[20])决定指令的操作是否影响CPSR中的条件标志位N位和Z位的值。当S=1时,跟新CPSR... 阅读全文
摘要:
这两条指令结合,可用于对CPSR或SPSR进行读/写操作。 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中1、MRS指令(Move to Register from Status Register) 1.1、作用 它将程序状态寄存器内容传输到通用寄存器 1.2、语法格式 MRS{} ,CPSR MRS{} ,SPSR 1.3、参数说明 :确定指令的目标寄存器,如果R15被用作目标寄存器,指令的执行结果不可预知,因为每执行一个指令,PC都会改变。 1.4、使用场合 1.4.1、当需要保存或修改... 阅读全文
摘要:
当前程序状态寄存器CPSR可以在任何位处理器模式下被访问,它包含条件码标志、中断控制、当前处理器模式以及其他状态和控制信息。CPSR的结构图如下:一、条件标志位 CPSR最高4位:N(Negative)、Z(Zero)、C(Carry)和V(oVerflow)称为条件标志位。程序名中的算术或逻辑指令可以根据其执行结果修改这些条件标志位,之后的条件执行指令可以根据这些条件标志决定相应的指令是否被执行。各条件标志位的具体含义如下: 1、N(符号位) 该位设置为当前指令运行结果的BIT[31]的值。当两个由补码表示的有符号整数运算时,N=1表示运算的结果为负数;N=0表示结果为正数或零... 阅读全文