汇编代码简介
说到汇编语言的产生,首先要讲一下机器语言。机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。
上面所说的计算机指的是可以执行机器指令,进行运算的机器。这是早期计算机的概念。在我们常用的PC机中,有一个芯片来完成上面所说的计算机的功能。这个芯片就是我们常说的CPU(Central
Processing Unit,中央处理单元)。每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。
早期的程序设计均使用机器语言。程序员们将用0,1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。这样的机器语言由纯粹的0和1构成,十分复杂,不方便阅读和修改,也容易产生错误。
程序员们很快就发现了使用机器语言带来的麻烦(何止是麻烦,简直令人发狂),它们难于辨别和记忆,给整个产业的发展带来了障碍,于是汇编语言产生了。
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。
我们举个例子看下:
源代码:
汇编代码和机器码:
可以看到汇编代码,好歹还有几个能猜出意思的单词。
有没有觉得现在的程序员还是挺幸福的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
很多时候需要对照C和汇编进行分析和调试,所以需要查阅汇编代码,以下分享几种方式。
发表于 06-09 19:13
•2054次阅读
OSCtxSw OSIntCtxSw汇编代码相同,怎么体现出区别的?osctxsw()需要保存出口状态。osintctxsw()不需要。但是汇编代码都一样,为什么?OSCtxSwPUS
发表于 08-21 22:28
单片机反汇编,二进制代码修改,单片机汇编代码分析,单片机反汇编分析,单片机逆向工程,bin或hex单片机程序还原成C
发表于 07-13 06:51
我在 Uvision5 上创建了一个小汇编项目,但我很快就达到了代码大小限制,我无法管理我的汇编代码在 stm32cubeide 上运行,请问你知道如何运行
发表于 12-08 07:51
大多数开发人员使用高级语言(如C和C++)编写大部分代码。然后将此高级源代码编译为在目标设备上运行的机器代码。
然而,有时编写低级汇编代码也
发表于 08-02 13:01
这个汇编代码的窗口是在哪里打开的
发表于 10-11 08:13
在DSP的开发中,常用的算法都可以用C/C++代码来高效实现。但是对一些特殊寄存器的读写,例如某些CPU寄存器的读写,因为C/C++代码无法直接对其访问,仍然需要使用汇编代码进行操作。
发表于 10-18 09:47
•7次下载
12.2 从汇编代码访问 C target=_blank style=cursor:pointer;color:#D05C38;text-decoration:underline;》C 全局变量
发表于 10-19 09:25
•0次下载
本文档的主要内容详细介绍的是51单片机软件复位的汇编代码免费下载。
发表于 08-27 17:30
•2次下载
应用程序几乎都是由C代码和汇编代码混合组成的。在那些对性能起决定性作用的关键功能中,DSP工程师将继续使用高度优化的汇编代码,同时转用C语言
发表于 01-31 17:11
•2483次阅读
在C中嵌套汇编代码难吗?
发表于 01-10 14:24
•2385次阅读
EE-134:为SHARC®系列编写与C兼容的汇编代码中断处理程序
发表于 05-26 09:21
•3次下载
Rust enum 是一个非常强大的特性, 很多人好奇他内部是如何实现的, 这里作者从生成的汇编代码来帮你深入理解 Rust 的 enum. 一些关键结论:
发表于 11-15 11:13
•370次阅读
分析软件缺陷,有时候需要把ELF文件反汇编为汇编代码,然后分析汇编代码,需要把汇编
发表于 06-12 16:45
•1761次阅读
这里新开一篇博文,专门讲讲针对ARM格式的汇编代码,使用AC6.12应该如何处理。下述内容大多来自文档
发表于 11-13 16:03
•360次阅读
评论