随笔分类 -  ARM

摘要:与汇编语言相比,C语言的效率还是无法与之相媲美。因此在对效率或者硬件操作要求比较高的地方,可以采用将部分汇编语句嵌入到C语言中。 GCC的内嵌式汇编语言提供了一种在C语言源程序中直接嵌入汇编指令的很好办法,既能够直接控制所形成的指令顺序,又有着与C语言的良好接口。所以在Linux内核代码中很多地方都 阅读全文
posted @ 2019-03-08 09:36 dongry
摘要:1 C语言调用汇编函数 首先在汇编中声明其为全局函数: 例如有汇编函数:init_interrupt 声明全局: .global init_interrupt 然后在C语言中可直接调用: init_interrupt(); 2 汇编调用C函数 ldr pc,=C语言函数名 阅读全文
posted @ 2019-03-07 18:12 dongry
摘要:1 栈:栈是一种具有后进先出的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈的数据所处位置,栈顶是最后一个数据进栈所处的位置。 数据组织:有链表、图、树等等(就数据结构那些东东) 2 满/空栈 根据SP指针指向的位置,栈可以分为满栈和空栈。 满栈:当堆栈指针总是指向最后压入堆 阅读全文
posted @ 2019-03-07 17:27 dongry
摘要:汇编程序框架 简化后的代码框架 反汇编命令 伪指令: 伪指令本身并没有所对应的机器码,它只是在编译的时候起作用,或者转化为其它实际指令来运行。 定义类伪指令: global:定义为全局的标号,如:global _start data:数据段 ascii: byte: word: equ:类似于宏指令 阅读全文
posted @ 2019-02-20 14:04 dongry
摘要:ARM汇编:(APCS过程调用标准) 汇编:用助记符(如$ # .)代替操作码,用地址符号或标签代替地址码的编程语言 特点: 优点:可以直接访问硬件,目标代码简短,执行速度快(CPU启动时需要直接操作,所以用汇编) 缺点:可移植性差,可阅读性差(不同平台指令有差别) ARM指令集特点 1 指令码长度 阅读全文
posted @ 2019-01-18 18:55 dongry