汇编语言轻松入门

​通常说的学习编程其实就是学习高级语言编程,比如C语言、C++语言、Python语言、JAVA语言等等,即那些为人类设计的计算机语言。

但是,我们的计算机它并不理解什么是高级语言,计算机只是一个机器,它只有电气的特性,比如正负电荷、高低电平等,所以必须通过编译器将高级语言转换成二进制编码,这样才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。更多关于计算机的知识,可以阅读下计算机组成原理方面的书籍。

在这里插入图片描述

计算机真正能够理解的编程语言是低级语言,它是被专门用来控制硬件的。我们的汇编语言就是一种低级语言,通过一些标识符直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言,因为汇编语言是最接近机器语言的,这里说的机器语言又是什么呢,简单可以把它看成是由0与1构成的一组组指令,这些0和1组成的指令存储在可编程的存储单元中,它最终会被计算机取出来转化成一个个对应的电气特性的信号,这样就华丽地实现了从软件到硬件的转变。

汇编语言是低级语言,所以不易阅读,也不易理解,因此它是一种不易学习的编程语言,但实际工作中所有的高级语言,最终编译执行,都少不了汇编作为中间桥梁,所以对它有一点了解,对于我们理解奇妙的计算机世界还是有帮助的。下面我尝试写一篇最好懂的汇编语言教程,解释 CPU 如何执行代码。
在这里插入图片描述

一、汇编语言是什么?

我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。

这些指令都是由0和1组成的,它们是二进制的数据,称为操作码(opcode),我们日常用得比较多的进制是10进制数,即由0~9这10个数组成的数,但在计算机世界中,不仅有10进制,还有8进制、16进制、以及这里说的2进制,顾名思义,2进制数只有0和1这两个基本元素组成,比如加法指令就是00000011 。编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。

对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。
在这里插入图片描述

汇编语言是二进制指令的文本形式,与指令是一一对应的关系。比如,加法指令00000011,把它写成汇编语言就是 ADDADD只是一个符号而已,具体到计算机它是00000011这样的指令码,所以只要还原成二进制,汇编语言就可以被 CPU 直接执行,所以它是最底层的低级语言。

二、汇率语言的来历

在计算机发展的早期,人们编写程序就是手写二进制指令,然后通过各种开关输入进计算机执行,比如要做加法运算,就按一下加法开关。随着时间的推移,科学家们发明了纸带打孔机,通过在纸带上打孔,将二进制指令自动输入计算机,这无形中提供了“生产率“。看到早期的计算机,回头再看看现在的计算机、手机等各种电子产品,是不是感到技术的伟大,发展的速度如此之快!
那时为了解决二进制指令的可读性问题,工程师将那些指令写成了八进制。二进制转八进制是轻而易举的,但是八进制的可读性也不行。很自然地,最后还是用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JXES智能生态系统

如文章对你有用,请作者喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值