09 2017 档案
摘要:AREA就是常见的伪指令之一。AREA是声明区域段,数据区,代码区等等。什么是数据段呢?数据段是来定义数据结构体的。格式是AREA test,CODE,READONLY。还有指令CODE16、CODE32,格式就直接写上就是。目的是声明以下是32位还是16位指令,注意不是切换arm和thunmb模式
阅读全文
摘要:那么A系列的处理器,会有一个相关的术语,这些术语在这里会给大家做一个介绍,大概这些术语要给大家说一下,首先是流水线,流水线就是底层架构的术语。 流水线: 流水线其实是底层架构涉及到的术语,就比如说中间是个CPU,然后外面一个转盘围绕着它在转,它们在多任务分时的处理,那么在处理的过程中,CPU会得到指
阅读全文
摘要:寻址方式在C语言里面也可以称为一个内存操作,说到寻址方式,我们就会想哪里有地址,当然就是存储器,而存储器就包括内存,外存,外存就比如硬盘,内存就比如寄存器。也就是说我们想操作它们要怎么去寻址,现在我把常用的ARM寻址方式做了一个总结。 1,立即数寻址:常量寻址,比如“ADD R0,R0,#0X3F”
阅读全文
摘要:我们做一些操作会有一点麻烦,比方进行一个if then的判断操作。比如要比较a>b,则去调用某个函数,这就要先去比较a,b的值,然后就会跳转,跳转又会比较大小,less than,就是BLLT,然后跳转到loop,我们通过这些来实现if then的操作。循环,先定义一个loop,然后有一些语句跳转到
阅读全文
摘要:内存操作-读取内存: 跟内存相关的指令无非是把内存中读取到计算机里面或者把计算机的内容读取到内存里面。存储器和计算机之间的一个互换。这些指令也可以在我们之前的相关文档里去查询。ARM汇编去官网下载相关的文档就行。 内存操作指令分为:单寄存器读写指令、多寄存器内存访问指令(连续的进行操作一段时间内存,
阅读全文
摘要:ARM A系列寄存器的情况 这是寄存器的总表,下面是CPU的各个模式,上面的纵轴就是寄存器组。 CPU在运行的时候为什么会有寄存器? 想象CPU是一个圈一直在运转,然后寄存器里面有大量的指令,这些指令不知道从哪里来的,但是一般情况下我们的程序在计算我们的程序,我们的程序一般是放在内存里面的,它从内存
阅读全文
摘要:ARM的处理器模式分几种要看是ARM的哪个系列,但是以现在的系列来说,有九种模式,这九种模式就是CPU在运算的时候,本来在读程序,突然系统发生异常,比如说蓝屏,这个时候操作系统肯定有相关的处理,同时我们也需要CPU一些信号,那么我们就可以通话CPU的切换来进行处理,这样实际上是在最低级别上考虑到的方
阅读全文
摘要:工具链:工具链就是一堆工具集合,它这里就会说到是编译器、链接器、装配器甚至包括调试等等这样一堆的工具集合就称为工具链。在这里默认自带ARM公司的工具链,所以我们可以直接使用,包括还可以支持一些静态链接库或者动态链接库等等。 然后就可以自己写代码进行编译,而编译出来的东西就直接是针对ARM的,那么这个
阅读全文