汇编语言程序设计第5章基本程序设计

上传人:枫** 文档编号:570015279 上传时间:2024-08-01 格式:PPT 页数:28 大小:123KB
返回 下载 相关 举报
汇编语言程序设计第5章基本程序设计_第1页
第1页 / 共28页
汇编语言程序设计第5章基本程序设计_第2页
第2页 / 共28页
汇编语言程序设计第5章基本程序设计_第3页
第3页 / 共28页
汇编语言程序设计第5章基本程序设计_第4页
第4页 / 共28页
汇编语言程序设计第5章基本程序设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《汇编语言程序设计第5章基本程序设计》由会员分享,可在线阅读,更多相关《汇编语言程序设计第5章基本程序设计(28页珍藏版)》请在金锄头文库上搜索。

1、 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计8086/80888086/8088和和ARMARM核核汇编语言程序设计汇编语言程序设计第第5 5章章 基本程序设计基本程序设计 恤殆乌李挎吮凄鹏颊齿形度题渝嘱织缀污凹袍妙伺刁肾滚啄杖钥锑恭歪彝汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20241第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1 5.1 程序设计方法概述程序设计方法概述 5.2 5.2 流程图

2、流程图5.3 5.3 结构化程序设计结构化程序设计第第5章章 基本程序设计基本程序设计 5.4 5.4 顺序结构的程序设计顺序结构的程序设计行漳涯碰贩廓接晶俱宣曰浙怂筏场降尘汉瘦析肘铱樱床庙泪够埔品嗣废斜汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20242第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 汇编语言同汇编语言同BASICBASIC或或C C等高级语言不同之处在于如何指示等高级语言不同之处在于如何指示计算机完成相应的任务。计算机完成相应的任务。 高级语言

3、给出一般性命令,而汇编语言给出具体的命令。高级语言给出一般性命令,而汇编语言给出具体的命令。高级语言给出一般性命令,而汇编语言给出具体的命令。高级语言给出一般性命令,而汇编语言给出具体的命令。汇编语言指令集中的语句直接涉及到计算机的硬件部分,提供汇编语言指令集中的语句直接涉及到计算机的硬件部分,提供汇编语言指令集中的语句直接涉及到计算机的硬件部分,提供汇编语言指令集中的语句直接涉及到计算机的硬件部分,提供给计算机更详细的命令,直接对硬件进行操作。给计算机更详细的命令,直接对硬件进行操作。给计算机更详细的命令,直接对硬件进行操作。给计算机更详细的命令,直接对硬件进行操作。5.1 5.1 5.1

4、5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 用汇编指令写的程序称为汇编语言源程序。微处理器可执用汇编指令写的程序称为汇编语言源程序。微处理器可执用汇编指令写的程序称为汇编语言源程序。微处理器可执用汇编指令写的程序称为汇编语言源程序。微处理器可执行的机器代码形式称为目标程序。行的机器代码形式称为目标程序。行的机器代码形式称为目标程序。行的机器代码形式称为目标程序。 编制出优秀的汇编语言程序还需要使程序具有结构好、编制出优秀的汇编语言程序还需要使程序具有结构好、编制出优秀的汇编语言程序还需要使程序具有结构好、编制出优秀的汇编语言程序还需要使程序具有结构好、可读性强、运

5、行速度快、占用内存少等优点。可读性强、运行速度快、占用内存少等优点。可读性强、运行速度快、占用内存少等优点。可读性强、运行速度快、占用内存少等优点。 弦坊增遥疤叠详伙丙忙灾缸旧粤蔡禹侄融嗣卓秉疚壶霹科辫胳频假晕耙终汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20243第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计一般说来,编制一个汇编语言程序需要完成以下步骤:一般说来,编制一个汇编语言程序需要完成以下步骤:(1)(1) 分析题意,建立数学模型,确定数据结构及算法。这

6、一分析题意,建立数学模型,确定数据结构及算法。这一步是能否编制出高质量程序的关键,因此不应该一拿到题目就步是能否编制出高质量程序的关键,因此不应该一拿到题目就急于写程序,而是应该仔细地分析和理解题意,找出合理的算急于写程序,而是应该仔细地分析和理解题意,找出合理的算法及适当的数据结构。法及适当的数据结构。(2)(2) 根据算法画出程序流程图。这一步对初学者尤其重要,根据算法画出程序流程图。这一步对初学者尤其重要,这样做可以减少出错的可能性。画流程图时可以从粗到细把算这样做可以减少出错的可能性。画流程图时可以从粗到细把算法逐步地具体化。法逐步地具体化。(3)(3) 根据算法及数据结构分配内存单元

7、和寄存器。根据算法及数据结构分配内存单元和寄存器。(4)(4) 编写汇编语言源程序。编写汇编语言源程序。(5)(5) 使用汇编程序调试工具上机调试程序。使用汇编程序调试工具上机调试程序。 5.1.15.1.1编写汇编语言程序的步骤编写汇编语言程序的步骤5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 外分字斥浸雀啸母匹幼邻囊谭案侥均呢专夜乐丘畴蚂擂幸滨佃态愤焰丘菌汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20244第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言

8、程序汇编语言程序汇编语言程序设计设计设计设计5.1.25.1.2判断程序质量的标准判断程序质量的标准5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 一个良好的程序应符合以下标准:一个良好的程序应符合以下标准:(1 1)程序可读性强。程序可读性强。(2 2)程序执行的时间短(效率高)。程序执行的时间短(效率高)。(3 3)程序所占用的内存少。程序所占用的内存少。(4 4)程序的语句行数少。程序的语句行数少。猿注华厘挣按磊羞健呕禽组湾躺张退逾棱癌耘类屠郝贷溃北忠枪副赫魁显汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1

9、/20245第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1.35.1.3汇编语言程序的开发过程汇编语言程序的开发过程5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 一般来说,开发汇编语言程序有以下面一般来说,开发汇编语言程序有以下面5 5个步骤:个步骤:(1 1)设计)设计(2 2)编辑)编辑(3 3)汇编)汇编(4 4)连接)连接(5 5)调试)调试墩姐帆筛疮吟暂排如傍菊寐疮灭新浊圆朵鼻尉娟察蔬菊审蛰嘴汾颤扦伸羚汇编语言程序设计_第5章基本程序

10、设计汇编语言程序设计_第5章基本程序设计8/1/20246第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 (1 1 1 1)设计)设计)设计)设计 根据所需完成的任务要求、设计程序结构,确定根据所需完成的任务要求、设计程序结构,确定应用算法,应用算法,并按使用的寄存器从程序段、数据段和堆栈段并按使用的寄存器从程序段、数据段和堆栈段并按使用

11、的寄存器从程序段、数据段和堆栈段并按使用的寄存器从程序段、数据段和堆栈段制定内存分配方案,制定内存分配方案,制定内存分配方案,制定内存分配方案,画出程序流程图。画出程序流程图。 冗谭采拷删渍腻馋衙领酵需因猿肋足卯冯潮敲垫侯檄撬蛆源乐犬饮境挪欲汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20247第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方

12、法概述程序设计方法概述程序设计方法概述 (2 2 2 2)编辑)编辑)编辑)编辑 根据设计方案及程序流程图创建汇编语言源程序。根据设计方案及程序流程图创建汇编语言源程序。该源程序是按照汇编语言语法规则编写的文本文件,定义为该源程序是按照汇编语言语法规则编写的文本文件,定义为后缀是后缀是.ASM.ASM的文件。它由程序员通过文本编辑器来完成。的文件。它由程序员通过文本编辑器来完成。文文文文本编辑器是任何流行的字处理器或编辑器,只要它们可以产本编辑器是任何流行的字处理器或编辑器,只要它们可以产本编辑器是任何流行的字处理器或编辑器,只要它们可以产本编辑器是任何流行的字处理器或编辑器,只要它们可以产生

13、纯生纯生纯生纯ASCIIASCIIASCIIASCII码文本文件,不带有任何特殊控制码和格式码。码文本文件,不带有任何特殊控制码和格式码。码文本文件,不带有任何特殊控制码和格式码。码文本文件,不带有任何特殊控制码和格式码。 Windows Windows下常用的有下常用的有WordWord等,但文件存储格式必等,但文件存储格式必须为(须为(.TXT.TXT)文本格式,且扩展名必须为)文本格式,且扩展名必须为.ASM.ASM。挤磁藕艳惜守更租核任侮仅模宅信漾呀脑钡跃锤晾预蒸踪炸乔赣圆已姐遗汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20248第第5章章 基本程

14、序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 (3 3 3 3)汇编)汇编)汇编)汇编 汇编是指将汇编语言编写的程序翻译成机器代码汇编是指将汇编语言编写的程序翻译成机器代码汇编是指将汇编语言编写的程序翻译成机器代码汇编是指将汇编语言编写的程序翻译成机器代码组成的目标程序的过程。组成的目标程序的过程。组成的目标程序的过程。组成的目标程序的过程。自动完成这一

15、任务的软件叫汇编自动完成这一任务的软件叫汇编自动完成这一任务的软件叫汇编自动完成这一任务的软件叫汇编程序,又称为汇编器。程序,又称为汇编器。程序,又称为汇编器。程序,又称为汇编器。自动生成的目标程序是机器可以理自动生成的目标程序是机器可以理自动生成的目标程序是机器可以理自动生成的目标程序是机器可以理解的,它是后缀为解的,它是后缀为解的,它是后缀为解的,它是后缀为.OBJ.OBJ.OBJ.OBJ的文件。的文件。的文件。的文件。 汇编程序主要包括以下几方面的功能:汇编程序主要包括以下几方面的功能: 检查源程序中的语法错误,并给出出错信息。检查源程序中的语法错误,并给出出错信息。检查源程序中的语法错

16、误,并给出出错信息。检查源程序中的语法错误,并给出出错信息。 产生源程序的目标程序,并给出列表文件。产生源程序的目标程序,并给出列表文件。产生源程序的目标程序,并给出列表文件。产生源程序的目标程序,并给出列表文件。 支持地址和数据的符号变量表。支持地址和数据的符号变量表。支持地址和数据的符号变量表。支持地址和数据的符号变量表。 支持对内存的管理。支持对内存的管理。支持对内存的管理。支持对内存的管理。 支持多种类型的数据表示。支持多种类型的数据表示。支持多种类型的数据表示。支持多种类型的数据表示。 支持程序的模块化组织。支持程序的模块化组织。支持程序的模块化组织。支持程序的模块化组织。 DOS

17、DOS下常用的汇编程序有下常用的汇编程序有MASMMASMMASMMASM、TASMTASMTASMTASM等。等。 。 广王律胎偶拘峻拔偿当络臼滁娠脚制昆闯互猎贼呕便扶放良凄胀浇形象摊汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/20249第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 5.1.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 (4 4 4 4

18、)连接)连接)连接)连接 连接程序的第一个任务就是从目标模块中产生一个运行模连接程序的第一个任务就是从目标模块中产生一个运行模连接程序的第一个任务就是从目标模块中产生一个运行模连接程序的第一个任务就是从目标模块中产生一个运行模块,并使其具有可重定位性。连接程序的第二个任务是可将几个块,并使其具有可重定位性。连接程序的第二个任务是可将几个块,并使其具有可重定位性。连接程序的第二个任务是可将几个块,并使其具有可重定位性。连接程序的第二个任务是可将几个目标模块连接成一个可执行的模块,并同样使其具有可重定位性。目标模块连接成一个可执行的模块,并同样使其具有可重定位性。目标模块连接成一个可执行的模块,并

19、同样使其具有可重定位性。目标模块连接成一个可执行的模块,并同样使其具有可重定位性。这样就可以将这样就可以将一一个程序的几部分分别编写,汇编成几个目标模块,个程序的几部分分别编写,汇编成几个目标模块,再通过连接程序将几个目标模块连接,生成一个完整的运行模块。再通过连接程序将几个目标模块连接,生成一个完整的运行模块。 连接程序可以发现源程序中的连接错误,如段的溢出或覆连接程序可以发现源程序中的连接错误,如段的溢出或覆连接程序可以发现源程序中的连接错误,如段的溢出或覆连接程序可以发现源程序中的连接错误,如段的溢出或覆盖、匹配的模块、不存在或不匹配的标号、变量等。盖、匹配的模块、不存在或不匹配的标号、

20、变量等。盖、匹配的模块、不存在或不匹配的标号、变量等。盖、匹配的模块、不存在或不匹配的标号、变量等。 DOS DOS DOS DOS下常用的连接程序有下常用的连接程序有下常用的连接程序有下常用的连接程序有LinkLinkLinkLink、TlinkTlinkTlinkTlink等。等。等。等。 键辰禹筏蓉褐辅颗襄墅蔗彦窜引郭韦放支润懊菲数烂汗郧甩规杠得饭执厢汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202410第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 5.1

21、.3 5.1.3汇编语言程序的开发过程汇编语言程序的开发过程 5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 (5 5 5 5)调试)调试)调试)调试 完成设计、编辑、汇编、连接后得到的可执行目完成设计、编辑、汇编、连接后得到的可执行目标程序中可能存在一些错误,这些错误可能是设计缺陷或标程序中可能存在一些错误,这些错误可能是设计缺陷或编辑时的笔误,它们可能使程序运行出现结果错误、死机编辑时的笔误,它们可能使程序运行出现结果错误、死机甚至其他无法预测的后果。这类错误被称为甚至其他无法预测的后果。这类错误被称为逻辑错误,它逻辑错误,它们是汇编程序和

22、连接程序都无法发现的。们是汇编程序和连接程序都无法发现的。这类错误只能靠这类错误只能靠这类错误只能靠这类错误只能靠程序员凭借调试程序和经验对可执行程序进耐心细致的跟程序员凭借调试程序和经验对可执行程序进耐心细致的跟程序员凭借调试程序和经验对可执行程序进耐心细致的跟程序员凭借调试程序和经验对可执行程序进耐心细致的跟踪调试,才能逐一排除。踪调试,才能逐一排除。踪调试,才能逐一排除。踪调试,才能逐一排除。 DOS DOS下常用的调试程序有下常用的调试程序有DebugDebug、TdebugTdebug等。等。训宽纯霄碳卧梆肩举愁贯猩防辗髓魁三冻炙地申靳洲山菜用迭廉历申吭果汇编语言程序设计_第5章基本

23、程序设计汇编语言程序设计_第5章基本程序设计8/1/202411第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1.45.1.4完整的汇编语言程序框架完整的汇编语言程序框架5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 源程序的一般格式为:源程序的一般格式为: NAME1 SEGMENTNAME1 SEGMENTNAME1 SEGMENTNAME1 SEGMENT 标号:标号: 汇编语言语句序列汇编语言语句序列 ;标号指示程;标号指示程序入口序入口

24、NAME1 ENDSNAME1 ENDSNAME1 ENDSNAME1 ENDS NAME2 SEGMENTNAME2 SEGMENTNAME2 SEGMENTNAME2 SEGMENT 标号:标号: 汇编语言语句序列汇编语言语句序列 NAME2 ENDSNAME2 ENDSNAME2 ENDSNAME2 ENDS END END END END 程序起始地址标号程序起始地址标号程序起始地址标号程序起始地址标号妒颁妙敬邹谱免烫削跟缆楼罢师绣酥揪蚀奢踌逆驶毁疵涵广峭届做眺毒抗汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202412第第5章章 基本程序设计基本程

25、序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1.45.1.4完整的汇编语言程序框架完整的汇编语言程序框架5.1 5.1 5.1 5.1 程序设计方法概述程序设计方法概述程序设计方法概述程序设计方法概述 STACK SEGMENT PARA STACK STACK STACK SEGMENT PARA STACK STACK STACK SEGMENT PARA STACK STACK STACK SEGMENT PARA STACK STACK ;定;定;定;定义堆栈段义堆栈段义堆栈段义堆栈段 DB 1024 DUP (?)

26、 DB 1024 DUP (?) DB 1024 DUP (?) DB 1024 DUP (?)STACK ENDSSTACK ENDSSTACK ENDSSTACK ENDSDATA SEGMENT PARA DATA DATA SEGMENT PARA DATA DATA SEGMENT PARA DATA DATA SEGMENT PARA DATA ;定义数据段定义数据段定义数据段定义数据段HELLO DB Welcome to BEIJING! , 0dhHELLO DB Welcome to BEIJING! , 0dhHELLO DB Welcome to BEIJING! ,

27、0dhHELLO DB Welcome to BEIJING! , 0dh,0ah0ah0ah0ah,$DATA ENDSDATA ENDSDATA ENDSDATA ENDSCODE SEGMENT PARA CODE CODE SEGMENT PARA CODE CODE SEGMENT PARA CODE CODE SEGMENT PARA CODE ;定义代码段定义代码段定义代码段定义代码段 ASSUME CS ASSUME CS ASSUME CS ASSUME CS:CODE, DSCODE, DSCODE, DSCODE, DS:DATADATADATADATA,ESESESES

28、:DATADATADATADATA,SS: STACKSS: STACKSS: STACKSS: STACKMAIN PROC FARMAIN PROC FARMAIN PROC FARMAIN PROC FARSTART:START:START:START: PUSH DS PUSH DS PUSH DS PUSH DS XOR AX, AX XOR AX, AX XOR AX, AX XOR AX, AX PUSH AX PUSH AX PUSH AX PUSH AX MOV AX, DATAMOV AX, DATAMOV AX, DATAMOV AX, DATA LEA DX, HELL

29、O LEA DX, HELLO LEA DX, HELLO LEA DX, HELLO MOV AH, 9 MOV AH, 9 MOV AH, 9 MOV AH, 9 INT 21H INT 21H INT 21H INT 21H RET RET RET RETMAIN ENDPMAIN ENDPMAIN ENDPMAIN ENDPCODE ENDSCODE ENDSCODE ENDSCODE ENDS END STARTEND STARTEND STARTEND START刑扫迸操甸瓣教歼峡贾粗谓记隶糊本情娩篇捉竹弯夕哑夺湃夕卜丝羡眨蒋汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第

30、5章基本程序设计8/1/202413第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1 5.1 程序设计方法概述程序设计方法概述 5.3 5.3 结构化程序设计结构化程序设计第第5章章 基本程序设计基本程序设计 5.4 5.4 顺序结构的程序设计顺序结构的程序设计5.2 5.2 流程图流程图条婶梧峨晓回番馏梳伦背四琉装少臃卉累精锭牵离泌启斯庭铁夹腹脉塔恫汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202414第第5章章 基本程序设计基本程序设计 计算机科学与技术系

31、计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.2.15.2.1流程图的功能及意义流程图的功能及意义5.25.25.25.2流程图流程图流程图流程图 流程图是程序员进行程序设计的工具。借助流程图可以流程图是程序员进行程序设计的工具。借助流程图可以清晰地把程序思路表达出来,有助于编写正确的程序。清晰地把程序思路表达出来,有助于编写正确的程序。 画流程图是在确定算法之后编写程序之前、其目的画流程图是在确定算法之后编写程序之前、其目的是准确地表示算法,因此是准确地表示算法,因此流程图应当是逻辑的,而不是流程图应当是逻辑的,而不是流程图应当是逻辑的,而不是流程图

32、应当是逻辑的,而不是物理的。物理的。物理的。物理的。无论在哪种机器上使用哪种语言,同一个问题无论在哪种机器上使用哪种语言,同一个问题的同一个算法的流程图应当是唯一的。的同一个算法的流程图应当是唯一的。 褒贡毕携哑吝吮纹良镶命煮竹羔寨沙厩壕均介吉页编错附抿尼悉奥覆含羔汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202415第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.2.25.2.2流程图的画法规定流程图的画法规定 5.25.25.25.2流程图流程图流程图流程图

33、开始开始处处 理理判断判断?1端点框端点框端点框端点框:用于表示程序或过程的开始和结束:用于表示程序或过程的开始和结束:用于表示程序或过程的开始和结束:用于表示程序或过程的开始和结束点,框中可以写程序名和过程名、点,框中可以写程序名和过程名、点,框中可以写程序名和过程名、点,框中可以写程序名和过程名、“开始开始开始开始”、“结束结束结束结束”、“返回返回返回返回”等。等。等。等。处理框处理框处理框处理框:表示除判断以外的所有操作。要完:表示除判断以外的所有操作。要完:表示除判断以外的所有操作。要完:表示除判断以外的所有操作。要完成的操作,可以很概括,也可以很细致。成的操作,可以很概括,也可以很

34、细致。成的操作,可以很概括,也可以很细致。成的操作,可以很概括,也可以很细致。 判断框判断框判断框判断框:这种框有一个入口和两个出口,框:这种框有一个入口和两个出口,框:这种框有一个入口和两个出口,框:这种框有一个入口和两个出口,框中写有某种逻辑条件、根据条件成立与否,中写有某种逻辑条件、根据条件成立与否,中写有某种逻辑条件、根据条件成立与否,中写有某种逻辑条件、根据条件成立与否,分别执行不同的处理。分别执行不同的处理。分别执行不同的处理。分别执行不同的处理。衔接框衔接框衔接框衔接框:用于将一个流程图分成几个部分分:用于将一个流程图分成几个部分分:用于将一个流程图分成几个部分分:用于将一个流程

35、图分成几个部分分别绘制的情况。框中可以标有数字。两个标别绘制的情况。框中可以标有数字。两个标别绘制的情况。框中可以标有数字。两个标别绘制的情况。框中可以标有数字。两个标有相同数字的衔接框本来是接在一起的。有相同数字的衔接框本来是接在一起的。有相同数字的衔接框本来是接在一起的。有相同数字的衔接框本来是接在一起的。流向线流向线流向线流向线:连接在各框之间的有向线,指示各:连接在各框之间的有向线,指示各:连接在各框之间的有向线,指示各:连接在各框之间的有向线,指示各框代表的工作的执行次序。框代表的工作的执行次序。框代表的工作的执行次序。框代表的工作的执行次序。畏己邮毙症灸搓呀推蜜碎诉煞饥彤贸冶领攫蚤

36、稽孕计远孽硫少剥妻蛇耽晤汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202416第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1 5.1 程序设计方法概述程序设计方法概述 第第5章章 基本程序设计基本程序设计 5.4 5.4 顺序结构的程序设计顺序结构的程序设计5.2 5.2 流程图流程图5.3 5.3 结构化程序设计结构化程序设计搐加填脑排注萧语哗媚绎爬仅廓史控拥怂唬否纬目只叹聚哨年胶凝胳狼咏汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序

37、设计8/1/202417第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.3 5.3 5.3 5.3 结构化程序设计结构化程序设计结构化程序设计结构化程序设计(1 1 1 1)三种程序构件)三种程序构件)三种程序构件)三种程序构件 谋涅剑挣勉解冶蕉姬蔑誊藕妒广饭珊辅篆狱游钟盔壕的既溅镍歹啥硝戏潭汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202418第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语

38、言程序设计设计设计设计(2 2 2 2)逐步求精的设计方法)逐步求精的设计方法)逐步求精的设计方法)逐步求精的设计方法5.35.35.35.3结构化程序设计结构化程序设计结构化程序设计结构化程序设计 简言之,这是一种先全局后局部、先整体后细节、先抽象简言之,这是一种先全局后局部、先整体后细节、先抽象后具体的自顶向下的设计方法。对于复杂的问题,我们不可后具体的自顶向下的设计方法。对于复杂的问题,我们不可能立刻精确地给出求解的详细步骤,但是可以从问题的描述能立刻精确地给出求解的详细步骤,但是可以从问题的描述开始,首先得到求解的大致步骤,并表示成三种基本结构之开始,首先得到求解的大致步骤,并表示成三

39、种基本结构之一,然后再将上一结构中的处理框进一步分解、加细,仍然一,然后再将上一结构中的处理框进一步分解、加细,仍然代之以三种基本结构之一,如此继续直到最后的流程图已经代之以三种基本结构之一,如此继续直到最后的流程图已经细致到可以编程的程度为止。细致到可以编程的程度为止。捌抵杆鸥攒绒匠茎珐亭乳畅忧站忻亮嫉颊诞傣撑蓑多战劝染蜀朔讥穗亩烙汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202419第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.35.35.35.3结构化程

40、序设计结构化程序设计结构化程序设计结构化程序设计(3 3 3 3)模块化设计方法)模块化设计方法)模块化设计方法)模块化设计方法 问题规模愈大,求解程序的尺寸也愈大,编写和问题规模愈大,求解程序的尺寸也愈大,编写和排错也就愈加困难。模块化设计主张,在解决一个规模较排错也就愈加困难。模块化设计主张,在解决一个规模较大的问题时,把求解程序按功能分成若干模块、每个模块大的问题时,把求解程序按功能分成若干模块、每个模块有自己的相对独立的功能,尺寸较小,通常不超过一页有自己的相对独立的功能,尺寸较小,通常不超过一页(6060多行)。这里的多行)。这里的模块一般是作为过程和宏实现的。模块一般是作为过程和宏

41、实现的。模块一般是作为过程和宏实现的。模块一般是作为过程和宏实现的。 扩滚扭榆个砍橡牛影作紫酱扣记官杆诌理汗浓氢售咀虹咀郧衍缩韦坯臀抠汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202420第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.1 5.1 程序设计方法概述程序设计方法概述 第第5章章 基本程序设计基本程序设计 5.2 5.2 流程图流程图5.3 5.3 结构化程序设计结构化程序设计5.4 5.4 顺序结构的程序设计顺序结构的程序设计泛精禹驭钻执捕沾萝宿苇

42、怂魔供辆礼职唆硷离赫斤韵订次襟盆夕泅琼旗冗汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202421第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.45.45.45.4顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构顺序结构顺序结构顺序结构的程序从开始执行到结束,一的程序从开始执行到结束,一直是按指令序列在存储器中的存放顺序直是按指令序列在存储器中的存放顺序来执行指令的,来执行指令的,这个执行顺序由这个执行顺序由这个执行顺序由这个执行

43、顺序由CSCSCSCS:IPIPIPIP提供的指令地址来控制。提供的指令地址来控制。提供的指令地址来控制。提供的指令地址来控制。顺序程序顺序程序顺序程序顺序程序的流程图除了起止框外,就是的流程图除了起止框外,就是一个接一个的处理框、无判断框一个接一个的处理框、无判断框一个接一个的处理框、无判断框一个接一个的处理框、无判断框,如图,如图5252所示。顺序程序一般为简单程序,所示。顺序程序一般为简单程序,如计算表达式程序、查表程序。如计算表达式程序、查表程序。波秒反搅发影冠榜简篱宰位蜘倪俘啼寻冶欣珐楚有柄盛给趋养枷即蝎剔冻汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/

44、1/202422第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.45.45.45.4顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计设设X X、Y Y的值存放在字变量的值存放在字变量VARXVARX、VARYVARY中,中,结果存放在结果存放在VARZVARZ中。程序的流程图如图中。程序的流程图如图5252所示。源程序编写如下:所示。源程序编写如下: TITLE EQUATIONTITLE EQUATIONTITLE EQUATIONTITLE EQUATION COMPUT

45、ECOMPUTECOMPUTECOMPUTEDATA SEGMENTDATA SEGMENT VARX DW 15 VARX DW 15 VARY DW 10 VARY DW 10 VARZ DW ? VARZ DW ?DATA ENDSDATA ENDSSTACKl SEGMENT PARA STACKSTACKl SEGMENT PARA STACK DW 20H DUP(0) DW 20H DUP(0)STACK1 ENDSSTACK1 ENDS例例例例5. 15. 15. 15. 1 试编写一程序计算以下表达式:试编写一程序计算以下表达式:试编写一程序计算以下表达式:试编写一程序计算以

46、下表达式: Z Z Z Z(3X(3X(3X(3X十十十十Y Y Y Y5)5)5)5)2 2 2 2塌宫梨诬弱炕忆央菊鞭隧染紫驳哇姜姬杖江架屑哮呵饱锋票伶则进钓嗽誉汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202423第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.45.45.45.4顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计CODE SEGMENTCODE SEGMENTCODE SEGMENTCODE SEGMENT ASSU

47、ME CS: CODE, DS: DATA, SS: STACK1 ASSUME CS: CODE, DS: DATA, SS: STACK1COMP PROC FARCOMP PROC FARCOMP PROC FARCOMP PROC FAR PUSH DS PUSH DS ;保护返回保护返回DOSDOS地址地址 MOV AX, 0 MOV AX, 0 PUSH AX PUSH AX MOV AX, DATA MOV AX, DATA ;初始化;初始化DSDS MOV DS, AX MOV DS, AX MOV AX, VARX MOV AX, VARX ;AXXAXX SHL AX, 1

48、 SHL AX, 1 ;AX2XAX2X ADD AX, VARX ADD AX, VARX ;AX3XAX3X ADD AX, VARY ADD AX, VARY ;AX3X+YAX3X+Y SUB AX, 5 SUB AX, 5 ;AX3X+YAX3X+Y5 5 SAR AX, 1 SAR AX, 1 ;AX(3X+YAX(3X+Y5)/25)/2 MOV VARZ, AX MOV VARZ, AX ;存结果;存结果 RET RET ;返回;返回DOSDOSCOMP ENDPCOMP ENDPCOMP ENDPCOMP ENDPCODE ENDSCODE ENDSCODE ENDSCODE

49、 ENDSEND END COMPCOMPCOMPCOMP苹蛛稳露骨遗搬沧隆剥舶手胆橙灼止侩军粮洪焕栅右衍艺拎孽掌善赦饯鬼汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202424第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计5.45.45.45.4顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计查表的结果放在变量查表的结果放在变量MATHMATH中。编写的源程序如下:中。编写的源程序如下: TITLE TABLE LOOKUP TITLE T

50、ABLE LOOKUPDATA SEGMENTDATA SEGMENTDATA SEGMENTDATA SEGMENTTABLE DB 81TABLE DB 81,7878,9090,6464,8585,7676,9393,8282,5757,8080 DB 73 DB 73,6262,8787,7777,74748686,9595,9191,8282,7171NUM DB 8NUM DB 8MATH DB ?MATH DB ?DATA ENDSDATA ENDSDATA ENDSDATA ENDSSTACKl SEGMENT PARA STACKSTACKl SEGMENT PARA STA

51、CKSTACKl SEGMENT PARA STACKSTACKl SEGMENT PARA STACK DW 20H DUP(0) DW 20H DUP(0)STACK1 ENDSSTACK1 ENDSSTACK1 ENDSSTACK1 ENDS例例例例5. 25. 25. 25. 2 利用学号查该学生的数学成绩。首先在数据段中建立利用学号查该学生的数学成绩。首先在数据段中建立一个成绩表一个成绩表TABLETABLE,在表中按学号从小到大的顺序存放分数。要,在表中按学号从小到大的顺序存放分数。要查的学号存放在变量查的学号存放在变量NUMNUM中。中。及建物秉司索谈耿廖潞筷遇颐亿抹可燕肤戎好于

52、挂鼓惜组实肤弦蝗古灼沦汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202425第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计CODE SEGMENTCODE SEGMENTCODE SEGMENTCODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK1 ASSUME CS: CODE, DS: DATA, SS: STACK1STARTSTARTSTARTSTART: MOV AX, DATA: MOV AX, DATA

53、MOV DS, AX MOV DS, AX MOV BX, OFFSET TABLE MOV BX, OFFSET TABLE ;BXBX指向表首址指向表首址 XOR AH, AH XOR AH, AH5.45.45.45.4顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计 MOV AL, NUM MOV AL, NUM DEC AL DEC AL ADD BX, AX ADD BX, AX ;BXBX加上学号指向要加上学号指向要查的成绩查的成绩 MOV AL, BX MOV AL, BX ;查到成绩;查到成绩 MOV MATH, AL MOV MATH, AL ;存结

54、果;存结果 MOV AH, 4CH MOV AH, 4CH ;返回;返回DOSDOS INT 21H INT 21HCODE ENDSCODE ENDSCODE ENDSCODE ENDS END END STARTSTARTSTARTSTART 上述程序中,学号上述程序中,学号NUMNUM是从是从1 1开始,因此需将学号减开始,因此需将学号减1 1以获得成绩在表以获得成绩在表中的偏移量(开始)。如果程序使用换码指令中的偏移量(开始)。如果程序使用换码指令XLTAXLTA,则长度还可缩短。,则长度还可缩短。愿尝擦框供倦琶释齐赦辣果愚却津客递叁婚败漓转摹昨丸谐翔哥艾登捅怕汇编语言程序设计_第5章

55、基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202426第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计换码指令格式为:换码指令格式为:换码指令格式为:换码指令格式为: XLAT XLAT XLAT XLAT 表首址表首址表首址表首址 或或或或 XLATXLATXLATXLAT指令功能:指令功能:指令功能:指令功能:AL AL AL AL (BXBXBXBX)()()()(ALALALAL),不影响标志位。),不影响标志位。),不影响标志位。),不影响标志位。XLATXLATXLATXLAT

56、指令可将指令可将指令可将指令可将ALALALAL中的一个值转换为存储器表格中的一个中的一个值转换为存储器表格中的一个中的一个值转换为存储器表格中的一个中的一个值转换为存储器表格中的一个值后,再送回值后,再送回值后,再送回值后,再送回ALALALAL中。使用中。使用中。使用中。使用XLATXLATXLATXLAT指令之前,要求将表首地址的偏指令之前,要求将表首地址的偏指令之前,要求将表首地址的偏指令之前,要求将表首地址的偏移量送人移量送人移量送人移量送人BXBXBXBX中,待查项与表首地址之间的字节距离送入中,待查项与表首地址之间的字节距离送入中,待查项与表首地址之间的字节距离送入中,待查项与表

57、首地址之间的字节距离送入ALALALAL(0 0 0 0255255255255)中。这样,以上程序中代码段的有关指令语句可以改为:)中。这样,以上程序中代码段的有关指令语句可以改为:)中。这样,以上程序中代码段的有关指令语句可以改为:)中。这样,以上程序中代码段的有关指令语句可以改为: BEGIN: MOV AX, DATABEGIN: MOV AX, DATABEGIN: MOV AX, DATABEGIN: MOV AX, DATA MOV DS, AX MOV DS, AX MOV DS, AX MOV DS, AX MOV BX, OFFSET TABLE MOV BX, OFFSE

58、T TABLE MOV BX, OFFSET TABLE MOV BX, OFFSET TABLE MOV AL, NUM MOV AL, NUM MOV AL, NUM MOV AL, NUM DEC AL DEC AL DEC AL DEC AL XLAT TABLE XLAT TABLE XLAT TABLE XLAT TABLE MOV MATH, AL MOV MATH, AL MOV MATH, AL MOV MATH, AL5.45.45.45.4顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计仑状缉刀透体岗粟顾派坠托尹饯茸粮喘羌袍缄来栈烦发踏麦秒驯椅纠瞳劝汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202427第第5章章 基本程序设计基本程序设计 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计第第5 5章章 作作业业 5.3 5.4 抢闭多滇之苞峰忌愈诌连券逝华列窖绊曾札箱毫夕腺柏晃钎平此万娱郡雇汇编语言程序设计_第5章基本程序设计汇编语言程序设计_第5章基本程序设计8/1/202428第第5章章 基本程序设计基本程序设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号