蓉杠学习网

cobol语言移植j***a,cobol转j***a

大家好,今天小编关注到一个比较意思的话题,就是关于cobol语言移植java问题,于是小编就整理了1个相关介绍cobol语言移植j***a的解答,让我们一起看看吧。

  1. C语言、汇编语言、机器指令、CPU之间是怎么联系起来的?

C语言、汇编语言机器指令、CPU之间是怎么联系起来的?

***如你设计一个电路包括一个加法器和一个乘法器。

你希望根据需要,有时对输入数据做加法,有时对输入做乘法,该怎样做呢?最早的计算机,是靠手工连线的,与其说是计算机,不如说是巨型面包板。直到冯洛伊曼的edvac***把存储引入计算机。

cobol语言移植java,cobol转javadiv>
图片来源网络,侵删)

***设加法器和乘法器都具有使能端,两个使能端为01,就是加法器工作,是10,就是乘法器工作。

然后为了让电路根据要求顺序做加法和乘法,你把一系列01、10存储起来,当你要做加法,加法,乘法,加法时,存储的就是01011001。你增加了一个时序电路,每次读出两个位,把高低电平加在两个使能端上,替代你的手工接线。01和10这两个数码能控制电路的行为,起名叫机器码

然而这样二进制的东西并不好记忆。于是你给01起了个名字,叫add,10起名叫mul。你的这组运算就记为add,add,mul,add。

cobol语言移植java,cobol转java
(图片来源网络,侵删)

add,mul这种助记符,就叫代码,具体说是汇编代码;你会找一个悲催的助手,帮你把代码替换成01,10这种机械码。当然总有一些助手认为这个活动太没有人生价值,于是不甘心当花瓶的女助手葛丽丝·霍普(Grace Murray Hopper)设计了将代码翻译成机器码的代码,这个活儿以后就由机器来做,编译器出现了。

因此所谓cpu认识代码,是一种拟人化的修辞,偏文艺了。cpu只是一种根据高低电平输入,产生特定的高低电平输出的机器。代码不过是助记符。

后来你觉得add,add,add,add,add这类写法太烦,于是发明了五连加,7连乘之类的写法——高级语言代码诞生了。葛丽丝·霍普搞了cobol,约翰·巴科斯(John Warner Backus)搞了FORTRAN等等。

cobol语言移植java,cobol转java
(图片来源网络,侵删)

但是相对来说第一批的高级语言写起来比较烦,比如FORTRAN语言,子程序用function开头,用end结束。相信用过python的人都会觉得FORTRAN太学究气息了。

所以后来丹尼斯·里奇(Dennis Ritchie )在开发unix系统的同时,顺便设计了语法简单的c语言。main()可比function main()end简便多了。

机器语言 也就是我们看到的二进制指令,二进制指令在电路中代表高电平低电平。它是可以在CPU中直接进行运算的。而汇编语言是属于低级语言。他需要通过汇编器连接器将汇编代码转换为二进制机器语言。这个转换过程,我们称之为编译。同理,c语言也有它的编译器。编译器会将c语言代码编译成二进制机器语言。举个很形象的例子。我们和外国人打交道,有时候我们的语言水平可能跟他们正常沟通是有问题的,但是呢,如果中间有一个翻译人员,就可以通过翻译人员的翻译进行沟通。而这个翻译人员就相当于编程语言中的编译器。我们就相当于编程语言。这个外国人就相当于CPU。

谢邀。

简单说说这几者的关联吧。

通常,C语言程序可被C编译器翻译成汇编语言编写的汇编程序,汇编程序被汇编器翻译成可执行代码,而可执行代码主要包括机器指令及其使用的数据。

举例子吧:

C语言代码:

可被C编译器翻译成汇编代码(以x86 CPU为例):

可以看出,第一行C代码被翻译成两行汇编代码,第二行C代码被翻译成一行汇编代码。C代码和汇编代码没有一一对应关系。

到此,以上就是小编对于cobol语言移植j***a的问题就介绍到这了,希望介绍关于cobol语言移植j***a的1点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/36658.html

分享:
扫描分享到社交APP