×
单片机 > 单片机程序设计 > 详情

GNU ARM汇编--(一)开篇

发布时间:2020-06-02 发布时间:
|
        在大学的时候,汇编就是学的很烂.一是对汇编这门语言没概念,二是那些指令集很难记清楚,用的机会也少,自然学的不好.但是现在觉得相当有必要重头学习一下汇编.部分原因我在上一篇写完设备模型的总结时提到了而.最近在看一本书《ARM:Assembly Language Programming》,作者是Peter Knaggs & Stephen Welsh.作者在开头也提出学习汇编的必要性和重要性,借他们的话重新说一下:
        他们首先用三个问句来引出为什么要学习汇编:
        外科医生为了知道手术刀的用法而需要学习冶金吗?飞行员需要学习热力学理论来理解飞机引擎是如何工作的?报社的记者要学习电子学来理解照相机如何工作的?答案当然是“NO”,那么为什么要让学生学习汇编语言和计算机结构呢?
        第一就是教育和培训不是一码事,大学就应该学大学里该教的内容,当然学生也得好好学.
        第二是汇编语言是计算机体系结构和计算机软件的基础
        第三:汇编可以帮助我们更好的理解数据类型,指针,堆栈、函数调用、递归调用以及参数传递,汇编可以更直接的访问IO和设备,帮助理解设备驱动等等.
        总之汇编会告诉我们计算机系统内部正在发生什么
        而按照目前我个人的体会是:
        学习汇编可以让我更好的写C,学习汇编可以让我更好的理解loader,学习汇编可以让我更好的理解进程和内存管理,虚拟存储器和存储器映射等知识.总之,好处多多.目前汇编成了我的一个瓶颈,那搞定它可以让我上一个台阶.
        接下来学习汇编的环境为:操作系统为ubuntu,编译器是arm-linux-gcc,平台是s3c2440(ARM920).
        ARM汇编的指令集就那些,但是windows下的arm汇编和linux的arm汇编有细微区别.windows下是用ADS codewarrir等环境来开发,编译器是armasm,而linux用的是gnu arm,更个接近于AT&T风格.偏向于linux下的环境,所以就选择了GNU ARM汇编.
        学习GNU ARM汇编的计划和目标:
        ARM体系结构
        ARM下的指令集
        GNU汇编的风格
        在s3c2440平台上的验证
        当然最终的目的还是为了学习loader和linux.
        开始吧,新的学习目标~~~
关键字:汇编  编译器  linux 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
采用AT89C2051的数字可调稳压电源单片机源程序