- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五节 基本结构程序设计方法一、顺序程序设计二、 分支程序设计三、循环程序设计四、子程序设计 概述 汇编语言程序设计的一般步骤 流程图 汇编语言程序设计的一般步骤汇编语言程序设计一般有以下几个步骤:1.分析问题,确定算法2.绘制流程图3.根据流程图编制程序4.调试程序流程图1.流程图的概念 流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2.流程图符号表示(1)起止框:表示程序的开始和结束。起止框(2)判断框 (3)处理框 (4)调用框 (5)指向线 (6)连接框 一、 顺序程序设计顺序结构顺序结构的程序一般是简单程序,其特点是程序顺序执行,无分支,无循环与转移。例4.4内存中TABLE开始存放0~9的平方值,通过人机对话,对任意给定的数(0~9),查表得的平方值,将其放在AL中。data segmenttable db 0,1,4,9,16,25,36,49,64,81duf db ’please input ont number(0~9):’0dh,0ah,’$’data endsstack segment para stack’stack’stap adb100dup(?)code segment assume cs:code,ds:data,ss:stackstart: push ax mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,top mov bx,offset tablenext: mov dx,offset buf ;9号功能调用,显示字符串,提示输入一个数 mov ah,9 int 21h mov ah,1 ;1号功能调入,等待键入一个数且送 AL int 21h mov ah,0 ;查表得键入数的平方值 and al,0fh ;屏蔽高4位 add bx,ax mov al,[bx] mov ah,4ch int 21h code ends end start 二、分支结构一个大的程序完全顺序结构实际上并不可能,经常会遇到有分支的情况,分支结构程序通常采用条件转移或转移表来实现。典型的分支结构如教材图4.3所示。下面举例说明分支结构:例4.5给符号函数建立标志。 =1 当>0符号函数y =0 当=0 =-1 当<0要实现符号函数,只要把从内存中取出来,执行一次“与”或“或”操作,就可以把的数值特征反映在标志上,再根据标志来转移。程序框图如教材图4.4所示。源程序如下: data segment x dw15 y dw? data ends stack segment stack ’stack’ db100 dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start: push ax mov ax,data mov ds,ax mov ax,x and ax,ax jz xero jns zero mov bx,offffh jmp done zero: mov bx,0 jmp doneplus: mov bx,1 done: mov y, bx mov ah,4ch int 21h code ends end start 三、循环结构循环结构是程序设计中最常用的结构。凡需要重复做的工作,在计算机中都可以用循环结构程序来实现。循环程序有两种结构形式,一种是“先执行,后判断”,另一种为“先判断,后执行”。这后一种结构实现上允许0次循环,因而对有些程序更有效,它适合于循环次数不固定的程序。 循环程序的常见结构形式无论哪种循环结构,都包括以下四个部分:(1)初始化:为循环作准备,设置循环计数值,设置变量初值。(2)循环体:循环部分的核心,包括循环的全部指令。(3)修改参数:修改操作数地址,为下次循环作准备。(4)循环控制:修改计数器值,判断循环控制条件,决定是否跳出循环。对“先执行,后判断”结构,进入循环后至少要执行一次循环体,再判判断循环是否结束。对“先判断,后执行”结构,进入循环后,先判断循环结构条件,再决定是否执行循环体,可能循环体一次也不执行,即循环次数为0。例4.6若将内存2000H:0100H开始的256个字节的数据块移动到内存2000H:0200H mov ax,2000h
文档评论(0)