汇编语言和硬件的关系

 我来答
悟晓曼闻盼
2020-01-07 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:909万
展开全部
我试着回答吧!!
首先,明确的是,所有软件都要在硬件上实现。对计算机而言,硬件和软件的结合就是二进制代码,既物理状态的逻辑抽象表达。也就是“1”这个数字代表“高电压”“有电流”“电路通”等等,而“0”代表“低电压”“无电流”“电路断”等等。这是人类对某种物理状态的规定(抽象表达)。
其次,在明白上面的阐述后,我们知道,要在硬件上表示一系列二进制代码就必须有与之对应的一系列物理器件来产生、保持、保存一系列物理状态,在计算机中这样的物理器件就是寄存器。在这些二进制代码就是我们教科书上说的机器码
第三,这时汇编语言就可以出场啦,它可以用简单的语句直接改变寄存器的状态,也就是说它可以命令
XX寄存器改变状态,例如又原来的“电路通”变为“电路断”。而这样的改变意味着寄存器中表示的机器码改变。
第四,所以,粗略的说法就是“汇编语言是可以直接命令硬件作出状态改变的计算机语言”从硬件上讲,汇编语言是除了机器码以外最初级的计算机语言。
不知道这样的表述你是否满意?我不是专业的计算机教师,但我知道我的这个回答大体上是没有错误的。请你自己参考吧!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2020-07-23 · TA获得超过5245个赞
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:623万
展开全部
互相依赖,缺一不可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毕康时益菡
游戏玩家

2020-01-06 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:813万
展开全部
程序员编写的c语言代码,首先要经过c语言编译器,生成汇编代码,这个过程称为编译阶断,当c语言编译器生成汇编代码后,再调用汇编器来将汇编代码编译成汇编指令。
这是一种站在巨人肩人的作法,最早的c++编程语言也是这样的实现方法,只不过那时候叫cfront程序,cfront程序的作用是将c++代码转换成c语言代码,类似于一个文本处理器,然后再调用c语言编译器,将c源码编译成汇编代码,然后再调用汇编器将汇编代码编译成机器码。
这个过程,在windows平台上不容易操作,但是在linux平台上很容易看到。以gcc这款c语言编译器为例,它实际上是四个小程序。
cp:
c语言预处理程序,有它负责进行预处理操作。
cc:
c语言编译器,它负责将c源码编译成汇编代码。
as:
汇编器,它负责将汇编代码编译成机器码,一般使用gcc
test.c这样的命令编译c语言时,会生成一个a.out的程序,它实际上指的就是as
ouput,即汇编器输出文件。
link:
链接器,它负责将汇编器输入的机器码和库打包成一个操作系统可以运行的可执行文件,在linux上的可执行文件格式是elf格式,这个格式的实现是有链接器来完成的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式