RISC是精简指令集计算机(RISC:Reduced Instruction Set Computing)
ARM汇编概述
一开始,ARM公司发布两类指令集:
① ARM指令集,这是32位的,每条指令占据32位,高效,但是太占空间 2 Thumb指令集,这是16位的,每条指令占据16位,节省空间 要节省空间时用Thumb指令,要效率时用ARM指令。
一个CPU既可以运行Thumb指令,也能运行ARM指令。
怎么区分当前指令是Thumb还是ARM指令呢?
程序状态寄存器中有一位,名为“T',它于1时表示当前运行的是Thumb指令。 假设函数A是使用Thumb指令写的,函数B是使用ARM指令写的,怎么调用A/B? 我们可以往PC寄存器里写入函数A或B的地址,就可以调用A或B. 但是怎么让CPU在执行A函数是进入Thumb状态,在执行B函数时进入ARM状态? I 做个手脚: 调用函数A时,让PC寄存器的BITO等于1,即: PC=函数A地址+(1<<0); 调用函数B时,让PC寄存器的BITO等于0:,即: PC=函数B地址 麻烦吧?
麻烦! 引入Thumb2指令集. 它支持16位指令、32位指令混合编程。
汇编分类:
1、内存R/W
2 、运算
3、跳转/分支
4、比较
指令集:指令的结合
分类
1、ARM:32位
2、Thumb:16位
3、Thumb-2
安装调试模拟器
发现错误
修改