当前位置:   article > 正文

GNU ARM汇编--(一)开篇_gunarm

gunarm

        在大学的时候,汇编就是学的很烂.一是对汇编这门语言没概念,二是那些指令集很难记清楚,用的机会也少,自然学的不好.但是现在觉得相当有必要重头学习一下汇编.部分原因我在上一篇写完设备模型的总结时提到了而.最近在看一本书《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.
        开始吧,新的学习目标~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/76011
推荐阅读
相关标签
  

闽ICP备14008679号