ARM指令集----杂项指令
ARM指令集可以分为6类,即是跳转指令,数据处理指令,程序状态传输指令,Load、Store指令,协处理器指令和异常中断指令 跳转指令: 在ARM中有两种方式可以实现程序的跳转,一种是跳转指令,另一种是直接向PC寄存器写入目标地址的值 通过直接向PC寄存器写入目标寄存器的数字可以实现在4GB 地址空间的任意跳转,这种跳转又称为长跳转,如果在残肢令前面使用MOV LR,PC等指令,可以保存返回来的地址值,这样就实现了在4GB空间中的子程序调用 ARM的跳转指令可以从当前指令向前或者是向后的32位的地址进行空间跳转,这类跳转指令有一下4种 B 跳转指令 BL带换回的跳转指令 BLX 带返回的跳转和切换指令 BX 带状态切换的跳转指令 B和BL的区别在于,L决定是否将PC寄存器的数字保存到LR寄存器中, BL指令用于实现子程序的调用,子程序的返回地址可以将LR寄存器的值复制到PC寄存器来实现 数据处理指令 数据处理指令包括如下指令 MOV 数据传送指令 MVN 数据求反传送指令:MVN指令有以下用途:先寄存器传递一个负数,生成位的掩码,求一个数的反码 CMP 比较指令: CMN 基于相反数的比较指令 TST 位测试指令 :TST指令通常是用于测试寄存器中某些位是1还是0 TEQ 测试相等指令:TEQ用来比较两个数是否相等ORR指令 ADD 加法指令