精品学习网
所在位置:主页 > 物联网 > 汇编语言怎么入门学习?

汇编语言怎么入门学习?

发布时间:2022-06-23 12:00来源:www.51edu.com作者:畅畅

汇编语言的学习首先要对计算机硬件基础知识有所了解,特别是寄存器,内存等。同时要对二进制有所了解。同时你得了解与,或,非,异或等数理逻辑计算的相关知识;你同时对数字电路知识要了解,了解逻辑与或非在数字电路上如何实现。另外不但对数字电路,对于模拟电路你也要了解。诸于A/D,D/A转换,光电转换等等都要有所了解。这些东西对于你掌握汇编语言用于工业控制有很大帮助。顺便说一下,有很多工业控制的程序是用C语言编写的,C语言虽然也比较难,但较汇编语言方便多了。

本行汽车电子,之前某老平台几次大的软件变更升级,CPU计算资源非常紧张,有些低优先级中断已经开始丢失了,我用powerpc汇编把原来c语言的基础算法库重写了一遍,重点照顾了耗时最长的查表map程序,优化了分支预测特性,减少不必要的流水线等待,结果程序运行时间减少30%,不丢中断了,老平台又苟延残喘了几年。

汇编怎么学?一句话,多看手册,多反编译,就那么几种套路,汇编语言还是很纯粹的,没有太多花活。

学习汇编前期需要什么软件辅助吗?

需要。选择流行的编绎工具、芯片资料,帮助你快速学习、理解。汇编现在用的人很少了,既然你想学,我可以给你点建议。汇编语言,分单片机汇编与X86系列的宏汇编,两者有相通的地方,但区别也是非常大的。不需要太多的辅助,

汇编语言属于最底层的编程语言,掌握X86处理器或微处理器结构、各种寄存器、指令的用法、用途,是首先要做的。

对于X86系列CPU,其汇编语言叫宏汇编。首先对X86处理器要有大致的了解。比如,地址总线、数据总线的位数,数据是32位还是64位,协处理器的工作原理,后进先出堆栈的工作原理,定时器、外部中断的编程计算方法等等,需要上网找资料学习。

接下来,熟悉X86的指令系统。这个非常多。如果有一点汇编语言基础,直接下载一指令清单,辅助简要的解释。一般分逻辑运算指令、数学运算指令、协处理器指令等等,分类学习掌握。

对于51及其兼容的系列单片机,编程要简单些,要点应放在单片机寄存器的设置上。

应把单片机的内部定时器Timer,主频倍率,各种通讯用寄存器,如UART0/1、I²C、SPI等,多路AD转换寄存器,各口的I/O的推挽与开路定义等等,这些寄存器一定要对照单片机资料准确理解。

单片机的指令相对宏汇编要简单,大致分组了解,待写程序时,不明白再查资料。

会用编绎工具,用一般的编辑器编辑程序,作一些计算结果输出,以熟悉基本语法。

一开始作汇编语言编程,先要做基本框架,这很重要。对各种中断interrupt程序,做一详细规划。如定时器中断,设置优先级,把有时序要求的控制程序放在定时器中,并根据指令周期大致计算定时程序的执行时间。

对于X86宏汇编语言,可进行一些数学运算编程,然后通过显示RAM地址0B8000H地址进行输出。这样对协处理器、CRT显示等都会有较深的理解。

单片机的编辑、编绎器,建议使用KEIL,比较通用。在用keil时,可选择处理器型号,帮助你理解相关的硬件结构及寄存器工作原理。

X86宏汇编建议使用RadASM IDE,很好用。

总结:汇编语言语法比较简单、程式化。但由于其为与硬件紧密的底层语言,所以,要花大量时间,学习处理器的硬件结构,学习寄存器的详细定义,学习中断程序的使用。这些都掌握了,你会发现,汇编语言是非常高效、直接的语言。我们在写C语言的,经常会插入一断汇编语言,用于直接、快速、准确地实现一些物理层功能。

  • 热门资讯
  • 最新资讯
  • 手游排行榜
  • 手游新品榜