ARM指令集能够分为6类:
--跳转指令
--数据处理指令
--法式状况寄放器(PSR)传输指令
--Load/Store指令
--协处理器指令
--非常休止指令
跳转指令
在ARM中,有体式能够实现法式跳转:一种是跳转指令;一种是直接向PC寄放器(R15)中写入目的地址。
经由直接向PC寄放器中写入方针地址值,能够实如今4GB的地址空间中随意跳转,这种跳转指令又称为长跳转。若是在长跳转指令之前使用"MOV LR , PC"等指令,能够留存未来返回的地址值,就实现了在4GB的地址空间中的子法式挪用。
在ARM版本5及以上的系统中,实现了ARM指令集和Thumb指令集的夹杂使用。指令使用方针地址值的bit[0]来确定方针法式的类型。bit[0]=1时,方针法式为Thumb指令;bit[0]=0时,方针法式为ARM指令。
在ARM版本5以前的系统中,传送到PC寄放器中的方针地址值的低两位bit[1:0]被忽略,跳转指令只能在ARM指令集中执行,即法式不克从ARM状况切换到Thumb状况。
非T系列版本5的ARM系统不含Thumb指令,当法式试图切换到Thumb状况时,将发生不决义指令非常休止。
ARM的跳转指令能够从当前指令向前或向后32MB的地址空间跳转。这类跳转指令有4种:
--B:跳转指令
--BL:带返回的跳转指令
--BLX:带返回和状况切换的跳转指令
--BX:带状况切换的跳转指令