易语言讲座(三)
发布者:cj_zgp 发布时间:2010-05-26 09:54:27 点击数:
计算机语言、习题
人们进行思维活动或人与人之间交流思想,要通过语言,计算机进行或人与计算机交流信息,也需要通过语言。这就是计算机语言。计算机语言是用来指明让计算机依次做些什么事情的,所以又称为程序设计语言,这种语言有其自身的特点和发展过程。
1.3.1机器语言
前文提到,计算机的指挥中心是控制器,且计算机中的数都是用二进制数表示的。实际上,控制器也是用二进制数的0或1(即低电平、高电平)来实现其控制功能的。原来,任何一种电子计算机,都是一套指令系统,由若干条指令组成,每条指令都可指挥计算机实现某些功能。一条指令,通常由操作码和操作数两部分构成。操作码由若干位二进制数组成,由于这若干位0和1(即低电位、高电位)的不同组合,因而能使计算机产生不同的。操作数部分也是由若干位二进制数构成,它指明被操作的对象。一般地,它可以是被操作数的本身,也可是被操作数在内存中存放的地址,甚至不指明操作数部分(有时是隐含的)。如果操作数部分指明的是地址,不同类型的机器待,又可能只指明一个地址(被操作数地址)、或指明两个地址(两个操作数的地址,或一个被操作数地址,一个操作结果存放地址),或指明三个地址(被操作的两个数的地址和操作结果存放地址)等等,它们分别被称为一地址、二地址或三地址指令。控制器每遇到一个操作码,就会产生不同高低电位的组合,控制机器作相应的动作。地圵部分的不同高低电位组合,又会指向相应的被操作对象。从而完成一条指令的功能。一条条指令执行完结,运算就告结束。由于指令的操作码会直接使机器产生相应动作,操作数部分会直接指向被操作对象,所以用一条条指令写成的机器语言程序,能为机器直接认识。换之,机器语言是计算机能懂得的唯一语言。用机器语言写的程序,在机器上运行时,速度是最快的。值得说明的是,上述例子中,由七个连续单元中;十六进制数的20号单元中也得事先送入一个数;还有,结果存放的地圵也是用户指定的。这就是说,内存中什么地方放程序,什么地方放被操作的数,什么地方放结果,得由用户自行分配。短小的程序比较好办,长而复杂的程序,分配内存时得格外小心,以防止搞乱了。显然,用机器语言编制计算程序,对用户来说有着很大的缺陷:1.难写、难读、难修改;2.由于每种机器的指令系统不一样,这种程序没有通用性;3.需要人工分配内存。
1.3.2汇编语言
为着克服机器语言固有的缺陷,人们经过研究探讨,引进了一种汇编语言。汇编语言实际抚是一种符号语言,它把人们难以记忆和辨认的操作码改用有意义的英文单词(或见长缩写)作为助记符来代替,而对操作数部分稍加改动,更易于理解。 然而,从机器语言到汇编语言是花了一定代价的。因为计算机只认识机器语言,为了让计算机能认识汇编语言,最简单的办法是在机器内部编制一个对照表,像一本字典一样,对任何汇编符号都能从这个对照表中查到相应的机器语言的指令操作码。进行这种对照查找,当然也得有一个用机器语言写的(以便机器能认识的)程序,即汇编程序。机器在执行这个汇编程序时会把一条条汇编语言翻译成机器语言,从而又为机器所能认识。可见,执行汇编程序得额外花费机器运行时间,汇编程序和对照表也要占用内存空间。因而由机器语言改用汇编语言,是以降低机器运行速度和减小用户可用内存空间为代价的。汇编语言可以克服机器语言的第一个缺陷,但其而缺陷却依然存在。
1.3.3算法语言
算法语言又称“高级语言”,它比较完满地解决了机器语言的所有缺陷,是程序设计语言的一大突破。高级语言编写出的程序,称为源程序,而更是计算机不能直接认识的东西。让计算机认识并能执行高级语言源程序,需要一个翻译和执行的过程,它比汇编程序功能要强得多。我们通常用高级语言写好一个程序,让机器运行它,这种说法并不十分确切。拿易语言写的程序来说,真正运行的并不是易语言的源程序,而是由易语言编译器将源程序编译后的机器码,从而完成了源程序所要做的一切。然而它还是顺着易语言程序一句句执行的。不同程序语句有不同方法和效果,所以我们以后还是说成运行(或执行)易语言源程序。
不言而喻,高级语言的优点是以降低运行速度和减小用户可用内存空间为代价的。运行速度大约只及机器语言的数百分之一。随着大规模集成电路技术的飞速发展,指令技术周期越来越短,存储器越来越便宜,这些代价也就显得不那么重要了。当然,对某些程序来说,降低运行速度可能是致命性的,所以近年来不少应用程序釆用高级语言与机器语言相结合的办法,不是没有道理的。以上提到的汇编程序、解释程序、编译程序以及操作系统、服务性程序、库程序等,一般称为系统程序;为解决特定问题而编写的程序,一般称为应用。这些都是属于软件的范畴。
不言而喻,高级语言的优点是以降低运行速度和减小用户可用内存空间为代价的。运行速度大约只及机器语言的数百分之一。随着大规模集成电路技术的飞速发展,指令技术周期越来越短,存储器越来越便宜,这些代价也就显得不那么重要了。当然,对某些程序来说,降低运行速度可能是致命性的,所以近年来不少应用程序釆用高级语言与机器语言相结合的办法,不是没有道理的。以上提到的汇编程序、解释程序、编译程序以及操作系统、服务性程序、库程序等,一般称为系统程序;为解决特定问题而编写的程序,一般称为应用。这些都是属于软件的范畴。
1.4习题
1.将下列二进制数转换成十进制数:
(1)101 (2)1100 (3)11011001 (4)101101100110
2.将下列十进制数转换成二进制数:
2.将下列十进制数转换成二进制数:
(1)26 (2)54 (3)129 (4)25560
3.把下列十进制数转换为十六进制数:
(1)15 (2)287 (3)6438 (4)39684
4.把下列十六进制数转换成十进制数:
(1)B (2)1C (3)A93 (4)FFFF
5.把下列二进制数转换为十六进制数:
(1)10100110 (2)11000110 (3)1011001110 (4)101001011111010
6.把下列十六进制数转换为二进制数:
6.把下列十六进制数转换为二进制数:
(1)8F (2)3A4 (3)6D35 (4)FFFF