汇编语言程序设计 第5章基本程序设计.ppt
《汇编语言程序设计 第5章基本程序设计.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计 第5章基本程序设计.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学8086/80888086/8088和和ARMARM核核汇编语言程序设计汇编语言程序设计第第5 5章章 基本程序设计基本程序设计 4/25/20231第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学5.1 5.1 程序设计方法概述程序设计方法概述 5.2 5.2 流程图流程图5.3 5.3 结构化程序设计结构化程序设计第第5章章 基本程序设计基本程序设计 5.4 5.4 顺序结构的程序设计顺序结构的程序设计4
2、/25/20232第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学 汇编语言同汇编语言同BASICBASIC或或C C等高级语言一样,都是一些语句和等高级语言一样,都是一些语句和指令的集合,这些语句决定计算机将做什么,它们的不同之处指令的集合,这些语句决定计算机将做什么,它们的不同之处在于如何指示计算机完成相应的任务。在于如何指示计算机完成相应的任务。高级语言给出一般性命高级语言给出一般性命高级语言给出一般性命高级语言给出一般性命令,而汇编语言给出具体的命令。令,而汇编语言给出具体的命令。令,而汇编语言给出
3、具体的命令。令,而汇编语言给出具体的命令。汇编语言指令集中的语句直汇编语言指令集中的语句直汇编语言指令集中的语句直汇编语言指令集中的语句直接涉及到计算机的硬件部分,提供给计算机更详细的命令,直接涉及到计算机的硬件部分,提供给计算机更详细的命令,直接涉及到计算机的硬件部分,提供给计算机更详细的命令,直接涉及到计算机的硬件部分,提供给计算机更详细的命令,直接对硬件进行操作,接对硬件进行操作,接对硬件进行操作,接对硬件进行操作,如如“置置3232于于AXAX寄存器中寄存器中”,“将将CLCL寄存寄存器的内容传送到器的内容传送到DLDL寄存器中寄存器中”,“存储存储DLDL寄存器中数到内存寄存器中数到
4、内存34563456地址处地址处”等。等。5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 使用汇编语言是在计算机能够理解的基础上编写程序,但使用汇编语言是在计算机能够理解的基础上编写程序,但又不必死记机器代码。采用像英文缩写一样的指令,然后运又不必死记机器代码。采用像英文缩写一样的指令,然后运行汇编程序(将汇编语言编写的程序翻译成机器代码)将它行汇编程序(将汇编语言编写的程序翻译成机器代码)将它们转化为机器代码。们转化为机器代码。用汇编指令写的程序称为汇编语言源程用汇编指令写的程序称为汇编语言源程用汇编指令写的程序称为汇编语言源程用汇编指令写的
5、程序称为汇编语言源程序。微处理器可执行的机器代码形式称为目标程序。序。微处理器可执行的机器代码形式称为目标程序。序。微处理器可执行的机器代码形式称为目标程序。序。微处理器可执行的机器代码形式称为目标程序。4/25/20233第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学一般说来,编制一个汇编语言程序需要完成以下步骤:一般说来,编制一个汇编语言程序需要完成以下步骤:(1)(1)分析题意,建立数学模型,确定数据结构及算法。这一分析题意,建立数学模型,确定数据结构及算法。这一步是能否编制出高质量程序的关键,因此
6、不应该一拿到题目就步是能否编制出高质量程序的关键,因此不应该一拿到题目就急于写程序,而是应该仔细地分析和理解题意,找出合理的算急于写程序,而是应该仔细地分析和理解题意,找出合理的算法及适当的数据结构。法及适当的数据结构。(2)(2)根据算法画出程序流程图。这一步对初学者尤其重要,根据算法画出程序流程图。这一步对初学者尤其重要,这样做可以减少出错的可能性。画流程图时可以从粗到细把算这样做可以减少出错的可能性。画流程图时可以从粗到细把算法逐步地具体化。法逐步地具体化。(3)(3)根据算法及数据结构分配内存单元和寄存器。根据算法及数据结构分配内存单元和寄存器。(4)(4)编写汇编语言源程序。编写汇编
7、语言源程序。(5)(5)使用汇编程序调试工具上机调试程序。使用汇编程序调试工具上机调试程序。5.1.15.1.1编写汇编语言程序的步骤编写汇编语言程序的步骤5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 4/25/20234第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学5.1.25.1.2判断程序质量的标准判断程序质量的标准5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 一个良好的程序应符合以下标准:一个良
8、好的程序应符合以下标准:(1 1)程序可读性强。程序可读性强。(2 2)程序执行的时间短(效率高)。程序执行的时间短(效率高)。(3 3)程序所占用的内存少。程序所占用的内存少。(4 4)程序的语句行数少。程序的语句行数少。4/25/20235第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学5.1.35.1.3汇编语言程序的开发过程汇编语言程序的开发过程5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 一般来说,开发汇编语言程序有以下面一般来说,开发汇编语言程
9、序有以下面5 5个步骤:个步骤:(1 1)设计)设计(2 2)编辑)编辑(3 3)汇编)汇编(4 4)连接)连接(5 5)调试)调试4/25/20236第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述(1 1 1 1)设计)设计)设计)设计 根据所需完成的任务要求、设计程序结构,确定应用根据所需完成的任务要求、设计程序结构,确定应用算法,算法,
10、并按使用的寄存器从程序段、数据段和堆栈段制定并按使用的寄存器从程序段、数据段和堆栈段制定并按使用的寄存器从程序段、数据段和堆栈段制定并按使用的寄存器从程序段、数据段和堆栈段制定内存分配方案,内存分配方案,内存分配方案,内存分配方案,画出程序流程图。画出程序流程图。4/25/20237第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述(2 2 2
11、2)编辑)编辑)编辑)编辑 根据设计方案及程序流程图创建汇编语言源程序。该根据设计方案及程序流程图创建汇编语言源程序。该源程序是按照汇编语言语法规则编写的文本文件,定义为后源程序是按照汇编语言语法规则编写的文本文件,定义为后缀是缀是.ASMASM的文件。它由程序员通过文本编辑器来完成。的文件。它由程序员通过文本编辑器来完成。文本文本文本文本编辑器是任何流行的字处理器或编辑器,只要它们可以产生编辑器是任何流行的字处理器或编辑器,只要它们可以产生编辑器是任何流行的字处理器或编辑器,只要它们可以产生编辑器是任何流行的字处理器或编辑器,只要它们可以产生纯纯纯纯ASCIIASCIIASCIIASCII码
12、文本文件,不带有任何特殊控制码和格式码。码文本文件,不带有任何特殊控制码和格式码。码文本文件,不带有任何特殊控制码和格式码。码文本文件,不带有任何特殊控制码和格式码。DOSDOS下常用的有下常用的有EditEdit、PE2PE2等。等。WindowsWindows下常用的有下常用的有WordWord等,但文件存储格式必须为等,但文件存储格式必须为(.TXTTXT)文本格式,且扩展名必须为文本格式,且扩展名必须为.ASMASM。4/25/20238第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学 5.1.3
13、5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述(3 3 3 3)汇编)汇编)汇编)汇编 汇编是指将汇编语言编写的程序翻译成机器代码组成汇编是指将汇编语言编写的程序翻译成机器代码组成汇编是指将汇编语言编写的程序翻译成机器代码组成汇编是指将汇编语言编写的程序翻译成机器代码组成的目标程序的过程。的目标程序的过程。的目标程序的过程。的目标程序的过程。自动完成这一任务的软件叫汇编程序,自动完成这一任务的软件叫汇编程序,自动完成这一任务的软件叫汇编程序,自动完成这一任务的软件叫汇编程序,又称为汇编器。
14、又称为汇编器。又称为汇编器。又称为汇编器。自动生成的目标程序是机器可以理解的,自动生成的目标程序是机器可以理解的,自动生成的目标程序是机器可以理解的,自动生成的目标程序是机器可以理解的,它是后缀为它是后缀为它是后缀为它是后缀为.OBJOBJOBJOBJ的文件。的文件。的文件。的文件。在汇编的过程中,汇编程序可以在汇编的过程中,汇编程序可以在汇编的过程中,汇编程序可以在汇编的过程中,汇编程序可以发现源程序的语法诺误,如格式错误、非法指令、操作数发现源程序的语法诺误,如格式错误、非法指令、操作数发现源程序的语法诺误,如格式错误、非法指令、操作数发现源程序的语法诺误,如格式错误、非法指令、操作数类型
15、不匹配等。类型不匹配等。类型不匹配等。类型不匹配等。一旦发现错误,汇编程序会提示程序员对一旦发现错误,汇编程序会提示程序员对源程序加以修改,并重新汇编。源程序加以修改,并重新汇编。汇编程序主要包括以下几方面的功能:汇编程序主要包括以下几方面的功能:检查源程序中的语法错误,并给出出错信息。检查源程序中的语法错误,并给出出错信息。检查源程序中的语法错误,并给出出错信息。检查源程序中的语法错误,并给出出错信息。产生源程序的目标程序,并给出列表文件。产生源程序的目标程序,并给出列表文件。产生源程序的目标程序,并给出列表文件。产生源程序的目标程序,并给出列表文件。支持地址和数据的符号变量表。支持地址和数
16、据的符号变量表。支持地址和数据的符号变量表。支持地址和数据的符号变量表。支持对内存的管理。支持对内存的管理。支持对内存的管理。支持对内存的管理。支持多种类型的数据表示。支持多种类型的数据表示。支持多种类型的数据表示。支持多种类型的数据表示。支持程序的模块化组织。支持程序的模块化组织。支持程序的模块化组织。支持程序的模块化组织。DOSDOS下常用的汇编程序有下常用的汇编程序有MASMMASMMASMMASM、TASMTASMTASMTASM等。等。4/25/20239第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工
17、业大学 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述(4 4 4 4)连接)连接)连接)连接 DOSDOS运行一个可执行程序时,先要在内存中为该程序开辟一运行一个可执行程序时,先要在内存中为该程序开辟一块或几块存储空间,然后在此加载并运行该程序。块或几块存储空间,然后在此加载并运行该程序。该存储空间是该存储空间是该存储空间是该存储空间是由系统当时的运行状态决定的,是不固定的,这就要求可执行程由系统当时的运行状态决定的,是不固定的,这就要求可执行程由系统当时的运行状态决定的,是
18、不固定的,这就要求可执行程由系统当时的运行状态决定的,是不固定的,这就要求可执行程序是可重定位的,即它可以在内存的不同位置运行。序是可重定位的,即它可以在内存的不同位置运行。序是可重定位的,即它可以在内存的不同位置运行。序是可重定位的,即它可以在内存的不同位置运行。汇编后生成汇编后生成的目标程序虽然加载了的目标程序虽然加载了CPUCPU可识别的机器代码,但它缺少系统所可识别的机器代码,但它缺少系统所需要的重定位信息,所以并不能直接运行。需要的重定位信息,所以并不能直接运行。目标程序必须经过连目标程序必须经过连目标程序必须经过连目标程序必须经过连接程序的连接,生成附带重定位信息的可执行程序接程序
19、的连接,生成附带重定位信息的可执行程序接程序的连接,生成附带重定位信息的可执行程序接程序的连接,生成附带重定位信息的可执行程序(后缀为后缀为后缀为后缀为.COMCOMCOMCOM或或或或.EXEEXEEXEEXE的文件的文件的文件的文件)才能运行。才能运行。才能运行。才能运行。连接程序的第一个任务就是从目标模块中产生一个运行模块,连接程序的第一个任务就是从目标模块中产生一个运行模块,连接程序的第一个任务就是从目标模块中产生一个运行模块,连接程序的第一个任务就是从目标模块中产生一个运行模块,并使其具有可重定位性。连接程序的第二个任务是可将几个目标并使其具有可重定位性。连接程序的第二个任务是可将几
20、个目标并使其具有可重定位性。连接程序的第二个任务是可将几个目标并使其具有可重定位性。连接程序的第二个任务是可将几个目标模块连接成一个可执行的模块,并同样使其具有可重定位性。模块连接成一个可执行的模块,并同样使其具有可重定位性。模块连接成一个可执行的模块,并同样使其具有可重定位性。模块连接成一个可执行的模块,并同样使其具有可重定位性。这这样就可以将样就可以将一一个程序的几部分分别编写,汇编成几个目标模块,个程序的几部分分别编写,汇编成几个目标模块,再通过连接程序将几个目标模块连接,生成一个完整的运行模块。再通过连接程序将几个目标模块连接,生成一个完整的运行模块。连接程序可以发现源程序中的连接错误
21、,如段的溢出或覆盖、连接程序可以发现源程序中的连接错误,如段的溢出或覆盖、连接程序可以发现源程序中的连接错误,如段的溢出或覆盖、连接程序可以发现源程序中的连接错误,如段的溢出或覆盖、匹配的模块、不存在或不匹配的标号、变量等。匹配的模块、不存在或不匹配的标号、变量等。匹配的模块、不存在或不匹配的标号、变量等。匹配的模块、不存在或不匹配的标号、变量等。DOSDOSDOSDOS下常用的连接程序有下常用的连接程序有下常用的连接程序有下常用的连接程序有LinkLinkLinkLink、TlinkTlinkTlinkTlink等。等。等。等。4/25/202310第第5章章 基本程序设计基本程序设计 网络
22、工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述(5 5 5 5)调试)调试)调试)调试 完成设计、编辑、汇编、连接后得到的可执行目标程完成设计、编辑、汇编、连接后得到的可执行目标程序中可能存在一些错误,这些错误可能是设计缺陷或编辑序中可能存在一些错误,这些错误可能是设计缺陷或编辑时的笔误,它们可能使程序运行出现结果错误、死机甚至时的笔误,它们可能使程序运行出现结果错误、死机甚至其他无
23、法预测的后果。这类错误被称为其他无法预测的后果。这类错误被称为逻辑错误,它们是逻辑错误,它们是汇编程序和连接程序都无法发现的。汇编程序和连接程序都无法发现的。这类错误只能靠程序这类错误只能靠程序这类错误只能靠程序这类错误只能靠程序员凭借调试程序和经验对可执行程序进耐心细致的跟踪调员凭借调试程序和经验对可执行程序进耐心细致的跟踪调员凭借调试程序和经验对可执行程序进耐心细致的跟踪调员凭借调试程序和经验对可执行程序进耐心细致的跟踪调试,才能逐一排除。试,才能逐一排除。试,才能逐一排除。试,才能逐一排除。DOSDOS下常用的调试程序有下常用的调试程序有DebugDebug、TdebugTdebug等。
24、等。4/25/202311第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学5.1.45.1.4完整的汇编语言程序框架完整的汇编语言程序框架5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 源程序的一般格式为:源程序的一般格式为:NAME1 SEGMENTNAME1 SEGMENTNAME1 SEGMENTNAME1 SEGMENT 标号:标号:汇编语言语句序列汇编语言语句序列 ;标号指示程序入口;标号指示程序入口 NAME1 ENDSNAME1 ENDSNAM
25、E1 ENDSNAME1 ENDS NAME2 SEGMENTNAME2 SEGMENTNAME2 SEGMENTNAME2 SEGMENT 标号:标号:汇编语言语句序列汇编语言语句序列 NAME2 ENDSNAME2 ENDSNAME2 ENDSNAME2 ENDS END END END END 程序起始地址标号程序起始地址标号程序起始地址标号程序起始地址标号4/25/202312第第5章章 基本程序设计基本程序设计 网络工程系网络工程系 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计安徽工业大学5.1.45.1.4完整的汇编语言程序框架完整的汇编语言程序框架5.1 5.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 第5章基本程序设计 汇编语言 程序设计 基本
限制150内