请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

L0是计算机实际执行的语言

图片描述
老师这个地方高级语言经过翻译产生计算机实际执行的语言L0,接下来您讲到操作系统系统层下面是传统机器层,编程语言是cpu指令集(机器指令,可以直接交给微程序解析,cpu指令集存储在cpu内部,对cpu计算进行指导),通过这里我可以推断出这里所谓实际执行的语言L0其实就是机器指令。

接着在您的另一门课如下图

图片描述
图片描述
您说编译完成后的产出是汇编语言
但是汇编语言 != 机器语言 != L0 ,那L0到底是什么呀老师?

请同学们不要回答,这个问题对我很重要,困惑我很久了,我想听老师权威的回答,感谢理解!!!

正在回答

1回答

L1、L0在这里是泛指的意思,L1泛指高级语言,比如Java、C++等等,而L0泛指低级语言,一般是指汇编语言,因为汇编语言其实是机器语言对于人类容易理解的一种翻译。

对于软件层面的开发人员来说,了解到汇编语言层面已经足够了,汇编语言以下的细节,是不需要掌握的,因此在图1中,把L0语言描述为计算机实际执行的语言;而在第二张图中,代码生成的是汇编语言,也即是L0泛指的低级语言。

而汇编语言 != 机器语言,其实编译器编译出汇编语言程序以后,还要经过汇编器最终得到机器语言程序,只不过在g++、gcc这类编译器,集成了汇编器,所以在我们看来编译直接得到的是机器语言二进制文件而已,在编译原理中,这是两个过程,先是高级语言->汇编语言,再是汇编语言->机器语言。

希望对你有所帮助。

2 回复 有任何疑惑可以回复我~
  • 提问者 Panda_io #1
    感谢老师细心回答,这次我终于懂了,也解决了我很长时间的困惑,非常感谢!!!
    回复 有任何疑惑可以回复我~ 2020-08-14 00:38:47
  • 提问者 Panda_io #2
    感谢老师细心解答,真的非常感谢!!!
    回复 有任何疑惑可以回复我~ 2020-08-14 00:41:38
  • 其实老师的L0   一会是汇编语言   一会是机器语言
    编译后L0是汇编语言
    解释后的L0是机器语言
    
    是老师把一个L0当两个概念用了,所以把同学们绕晕了
    回复 有任何疑惑可以回复我~ 2021-07-25 10:56:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信