摘要: ADR这是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中。 使用的格式:ADR register,exper。 在编译源程序时,汇编器首先计算出当前PC值(当前指令位置)到exper的距离,然后会用一条ADD或者SUB指令来替换这条伪指令,例如:ADD register, 阅读全文
posted @ 2015-11-03 20:05 宋桓公 阅读(3011) 评论(0) 推荐(1) 编辑
摘要: 目前所知道的跳转指令有 b,bl,bep,bne.他们共同点是都是以b开头,首先从字面上分析:b:是Branch,表示分支。bl:是Branch Link表示带连接的分支。bep:Branch ,Equalbne:Branch ,Not Equal。B或BL指令引起处理器转移到"子程序名"处开始执行... 阅读全文
posted @ 2015-11-03 20:03 宋桓公 阅读(3554) 评论(0) 推荐(0) 编辑
摘要: makefile不仅仅是一个命令的集合体,其中有一些规则是需要理解掌握的。 首先,了解makefile的规则: // 格式 目标 : 依赖1,依赖2 (TAP键)命令 // 1、目标,就是我们想生成的文件。 2、依赖往往是我们已经有的文件,是生成目标的必要条件。 3、命令就是利用依赖来产生目标。 命 阅读全文
posted @ 2015-11-03 20:02 宋桓公 阅读(922) 评论(0) 推荐(0) 编辑
摘要: 初学ARM感觉写个裸板程序还真的不容易,可能是没有用到ADS,keil之类的开发平台的缘故吧。编译,链接过程在linux平台上完成,这样学起来更有实感,还能顺便熟悉linux环境,以及命令,何乐而不为呢?为此得准备一些必要的基础知识,前几篇博客总结一些汇编的指令,以及makefile的总结。有兴趣的... 阅读全文
posted @ 2015-11-03 20:01 宋桓公 阅读(1594) 评论(0) 推荐(1) 编辑
摘要: //这篇文章理解过时,请看新发表的——从两句汇编认识运行时地址与链接地址 我的第二个裸板程序的目的是,将程序在arm外接的SDRAM上运行程序,而不是,arm的片内ram。再此之前先得聊一聊“链接地址”和“存储地址”。 还记得,第一个裸板程序的链接地址是如何确立的吗? arm-linux-... 阅读全文
posted @ 2015-11-03 19:59 宋桓公 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 为啥是“PC = PC + 8”;“PC = PC + 8”其实这样写容易让人蒙了。“PC = PC + 8”真正含义应该是:执行处代码地址 = PC - 8;也就是说,”PC指向的地址“领先“执行处代码地址”8个字节;也就是说“PC = PC + 8”中的第二个PC,其实表示是“执行处代码地址”然... 阅读全文
posted @ 2015-11-03 19:53 宋桓公 阅读(1987) 评论(1) 推荐(0) 编辑
摘要: typedef,用最简单的话去诠释他,那么就是给类型取别名!!! 但是他并没有你想象的那么简单! 举例: typedef int size;//那么int就有一个别名叫size了,以后就可以 size i 什么的了;看到这里,如果你仅仅认为typedef不过如此,不就是把第一个参数(类型名),等同于... 阅读全文
posted @ 2015-11-03 19:28 宋桓公 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 今天从函数传参的角度来理解指针。如果想交换两个变量a,b的值,我们会这么做:int temp;temp = a;a = b;b = a;如果要把以上功能封装成一个函数,最开始的反应是:func(int a,int b){int temp;temp = a;a = b;b = a;}但是func(a,... 阅读全文
posted @ 2015-11-03 19:27 宋桓公 阅读(2401) 评论(0) 推荐(0) 编辑
摘要: 首先普通变量有两种形态:a &aa:表示内存中的值。&a:表示存放该值的内存地址。指针变量有3种形态:p *p &p;p: 代表指针变量中存放的地址值,这个地址值一般就是某个变量的内存地址。*p: 对应的是,p里存放的内存地址中的值。&p: 存放指针变量的内存地址。指针的意义是间接访问,那间接访问的... 阅读全文
posted @ 2015-11-03 19:25 宋桓公 阅读(2278) 评论(0) 推荐(0) 编辑
摘要: 前言:最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~ 带参数的宏定义,可以起到类似函数的效果,虽然看起来比定义函数简洁,但简洁的背后藏有陷阱,需要我们去注意... 阅读全文
posted @ 2015-11-03 19:22 宋桓公 阅读(2547) 评论(0) 推荐(1) 编辑
摘要: 前言:最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~要想理解此文,需要熟悉位操作的方法,您可能需要先阅读这篇文章—:《arm学习——有关位操作的总结》我们用... 阅读全文
posted @ 2015-11-03 19:19 宋桓公 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: 前言: 最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~正文:*P++,这种用法是很常见的,很有用的。但是不是很好理解,现在 来彻底分析下~~ 首先... 阅读全文
posted @ 2015-11-03 15:09 宋桓公 阅读(752) 评论(0) 推荐(0) 编辑