温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
编程
语言
教学
课件
编程语言编程语言 南昌大学软件学院南昌大学软件学院 朱俊炎朱俊炎 机器语言机器语言 汇编语言汇编语言 C语言语言 BASIC 语言语言 FORTRAN 语言语言 C+语言语言 Java语言语言 C#语言语言 机器语言机器语言-是是0和和1组成的代码,组成的代码,cpu集成电路设计者使用集成电路设计者使用.机器语言机器语言-是直接用二进制代码指令表达的计算机语言,指令是用是直接用二进制代码指令表达的计算机语言,指令是用0和和1 组成的一串代码,它们有一定的位数,并分成假设干段,各段的编组成的一串代码,它们有一定的位数,并分成假设干段,各段的编码码 表示不同的含义,例如某台计算机字长为表示不同的含义,例如某台计算机字长为16位,即有位,即有16个二进制数个二进制数组组 成一条指令或其它信息。成一条指令或其它信息。16个个0和和1可组成各种排列组合,通过线路可组成各种排列组合,通过线路 变成电信号,让计算机执行各种不同的操作。变成电信号,让计算机执行各种不同的操作。特特 点:点:机器语言或称为二进制代码语言,计算机可以直接识别,不需要进机器语言或称为二进制代码语言,计算机可以直接识别,不需要进行行 任何翻译。任何翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称 之为面向机器的语言,也称为机器语言。它是第一代的计算机语言。之为面向机器的语言,也称为机器语言。它是第一代的计算机语言。机器语言对不同型号的计算机来说一般是不同的。机器语言对不同型号的计算机来说一般是不同的。机器语言机器语言 汇编语言汇编语言-汇编语言汇编语言(Assembly Language)是面向机器的程序设计语言。是面向机器的程序设计语言。在汇编语合中,用助记符在汇编语合中,用助记符(Memoni)代替操作码,用地址符号代替操作码,用地址符号 (Symbol)或标号或标号(Label)代替地址码。这样用符号代替机器语言的代替地址码。这样用符号代替机器语言的 二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符 号语言。号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇 编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编 程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成 机器语言的过程称为汇编。机器语言的过程称为汇编。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬 件特性并能直接控制硬件的语言。件特性并能直接控制硬件的语言。汇编语言汇编语言 汇编语言,作为一门语言,对应于高级语言的编译器,需要一个汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器“汇编器来把汇编语言原文件汇编成机器可执行的代码。高级的汇编来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言等等为我们写汇编程序提供了很多类似于高级语言的特征,比方结构化、抽象等。在这样的环境中编写的汇编程序,有很的特征,比方结构化、抽象等。在这样的环境中编写的汇编程序,有很大一局部是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环大一局部是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。要对机器硬件精确控制的程序。大多数情况下大多数情况下Linux程序员不需要使用汇编语言,因为即便是硬件程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在驱动这样的底层程序在Linux操作系统中也可以完全用操作系统中也可以完全用C语言来实现,语言来实现,再加上再加上GCC这一优秀的编译器目前已经能够对最终生成的代码进行很好这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,确实有足够的理由让我们可以暂时将汇编语言抛在一边了。但的优化,确实有足够的理由让我们可以暂时将汇编语言抛在一边了。但实际情况是实际情况是Linux程序员有时还是需要使用汇编,或者不得不使用汇编,程序员有时还是需要使用汇编,或者不得不使用汇编,理由很简单:精简、高效和理由很简单:精简、高效和libc无关性。假设要移植无关性。假设要移植Linux到某一特定到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。等问题,此时或许只有汇编语言能帮上忙了。汇编语言比机器语言易于读写、调试和修改,同时具有机器语汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。接在不同处理器体系结构之间移植。汇编语言的特点汇编语言的特点:1.面向机器的低级语言,通常是为特定的计算机或系列计算机面向机器的低级语言,通常是为特定的计算机或系列计算机专专 门设计的。门设计的。2.保持了机器语言的优点,具有直接和简捷的特点。保持了机器语言的优点,具有直接和简捷的特点。3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、器、CPU、I/O端口等。端口等。4.目标代码简短,占用内存少,执行速度快,是高效的程序设目标代码简短,占用内存少,执行速度快,是高效的程序设计计 语言。语言。5.经常与高级语言配合使用,应用十分广泛。经常与高级语言配合使用,应用十分广泛。对于不同型号的计算机,有着不同的结构的汇编语言对于不同型号的计算机,有着不同的结构的汇编语言 汇编语言由于采用了助记符号来编写程序,比用机器语言的二汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,根本保存了机器语言的灵活性。使用汇编语言能面向机器并对应,根本保存了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。较好地发挥机器的特性,得到质量较高的程序。应用应用:汇编语言作为最根本的编程语言之一,汇编语言虽然应用的范围不算很广,汇编语言作为最根本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿就拿Linux内核来讲,虽然绝大局部代码是用内核来讲,虽然绝大局部代码是用C语言编写的,但仍然不可防止语言编写的,但仍然不可防止地在某些关键地方使用了汇编代码,其中主要是在地在某些关键地方使用了汇编代码,其中主要是在Linux的启动局部。由于这局部的启动局部。由于这局部代码与硬件的关系非常密切,即使是代码与硬件的关系非常密切,即使是C语言也会有些力不从心,而汇编语言那么能语言也会有些力不从心,而汇编语言那么能够很好扬长避短,最大限度地发挥硬件的性能。够很好扬长避短,最大限度地发挥硬件的性能。1.70%以上的系统软件是用汇编语言编写的。以上的系统软件是用汇编语言编写的。2.某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。3.某些高级绘图程序、视频游戏程序是用汇编语言编写的。某些高级绘图程序、视频游戏程序是用汇编语言编写的。汇编语言是理解整个计算机系统的最正确起点和最有效途径,人们经常认为汇编语言是理解整个计算机系统的最正确起点和最有效途径,人们经常认为汇编语言的应用范围很小,而无视它的重要性。其实汇编语言对每一个希望学习汇编语言的应用范围很小,而无视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所有程序,不管用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其有程序,不管用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论根底;向下为掌握硬件系统的原理,打下实践应用根底。统的原理,打下技术理论根底;向下为掌握硬件系统的原理,打下实践应用根底。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最正确起点。系统的最正确起点。C语言是语言是Combined Language组合语言组合语言的中英混合简称。是一种计的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到件开发上,而且各类科研都需要用到C语言,具体应用比方单片机以及嵌入式语言,具体应用比方单片机以及嵌入式系统开发。系统开发。C 语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritchie于于1972年推出。年推出。1978后,后,C语言已先后被移植到大、中、小及微语言已先后被移植到大、中、小及微型机上。型机上。C语言开展如此迅速,而且成为最受欢送的语言之一,主要因为它具有强语言开展如此迅速,而且成为最受欢送的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如大的功能。许多著名的系统软件,如DBASE 都是由都是由C 语言编写的。用语言编写的。用C 语语言加上一些汇编语言子程序,就更能显示言加上一些汇编语言子程序,就更能显示C 语言的优势了,像语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。等就是用这种方法编写的。C语言语言 C 语言特点:语言特点:是一种