- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机接口第4章汇编语言程序设计2剖析
4.3汇编语言程序设计 分析问题:通过详细的了解和分析,将一个实际问题转化为一个计算机可以处理的问题。 确定算法:抽象出描述问题的数学模型,并确定实现数学模型的算法. 算法就是计算机能够实现的操作方法和操作步骤。 算法的流程图描述法:流程图中较为通用的几种符号: 4.3汇编语言程序设计 起始和终止框是表示程序开始和结束的符号,它总是在一个流程图的开头或结尾处; 执行框用来表示须完成的某项功能,它可以是一条指令或一段程序,但是无论哪种情况,该框只能有一个入口和一个出口; 判断框是用来表示程序在此处要根据不同情况形成分支,框内需写明比较的条件,此框有一个入口,两个出口; 连接符是用来连接两个流程框图的符号,圆形符号内可写入标识符,不同流程框图中连接符中的标识符相同的各点将连接在一起 4.3汇编语言程序设计 编写程序 采用汇编语言编写程序应注意以下几个问题: 必须详细了解所用CPU的编程模型、指令系统、寻址方式及有关伪指令; 必须进行存储空间和工作单元的合理分配; 多次使用的程序段可采用子程序或宏指令; 尽可能用标号或变量来代替绝对地址和常数。 4.3汇编语言程序设计 程序检验 程序编好以后,必须经过书面检查和上机调试,以便说明程序是否正确。检验时,应预先选择典型数据,检查是否可以得到预期结果。 编写文档 一个完整的软件必须有相应的说明文件,这不仅便于用户使用,也便于对程序的维护和扩充。说明文件主要包括程序的功能和使用方法,程序的基本结构和所采用的主要算法以及程序的必要说明和注意事项等。 4.3汇编语言程序设计 按照指令执行的顺序,程序的结构可以划分成以下三种。 顺序结构:程序按照它编写的顺序执行,每条指令只执行一 次,这样的程序称为“顺序结构”的程序。 循环结构:一组指令被反复地执行,这样的程序称为“循环结 构”或者“重复结构”的程序。 选择结构:根据某个条件,一部分指令被执行,另一部分指 令没有被执行,这样的程序称为“选择结构”或者 “分支结构”的程序。 一个实际运行的程序,常常是由以上三种结构的程序组合而成的,上面的三种结构称为程序的“基本结构”。使用这三种基本结构,可以编写出任何所需要的程序。 4.3汇编语言程序设计 例4-3-1-1 将存储器中的二个字节相加,结果(和)送到另一个存储器单元中。 此题的算法及思路是: 1、先将一个字节数据从存储单元送入累加器; 2、然后再把累加器的内容与第二个存储单元的数据相加(和不超过一个字节); 3、将结果(和)再从累加器送回存储器存放结果的单元中。 4.3汇编语言程序设计 4.3汇编语言程序设计 例4-3-1-2将一字节压缩BCD码转换为两个ASCII 1、首先将一字节压缩BCD码从BCDBUF中取入寄存器; 2、然后将此二位BCD码一分为二拆开,形成二位非压缩的BCD码(并使它们的高四位都置0);3、然后都加以30H,形成二个ASCII码; 4、再按先高后低的次序存入ASCBUF符号地址的连续二个单元中(此次序正好满足将来输出显示和打印的次序),程序流程图如图所示: 4.3汇编语言程序设计 DATA SEGMENT BCDBUF DB 96H ASCBUF DB 2 DUP(?) DATA ENDS STAK SEGMENT PARA STACK STACK DB 10 DUP(0) TOP LABEL WORD STAK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STAK START: MOV AX,DATA MOV DS,AX MOV AX, STAK MOV SS,AX MOV SP OFFSET TOP MOV AL,BCDBUF ;AL←(BCD BUF) MOV BL,AL ;BL←(BCD BUF) MOV CL,4 SHR AL,CL ;BCD码中高位移入低位,高位补0 ADD AL,30H ;形成BCD高
文档评论(0)