欢迎来到天天文库
浏览记录
ID:42817113
大小:313.01 KB
页数:44页
时间:2019-09-23
《顺序结构程序设计(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上机过程的步骤设计思想、数据结构和算法汇编语言源程序文件(*.asm)目标代码程序文件(*.obj)可执行程序文件(*.exe)可调试程序编辑汇编连接调试源程序分段结构框架:DATASEGMENT……DATAENDSSTACKSEGMENT……STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:………………CODEENDSENDSTART第五章基本结构程序设计5.1汇编语言程序设计概述5.2顺序结构程序设计5.3分支结构程序设计5.4循环结构程序设计5.1汇编语言程序设计概述
2、5.1.1汇编语言程序设计的基本步骤5.1.2流程图的画法规定5.1.3程序的基本结构5.1.1汇编语言程序设计的基本步骤汇编语言程序设计一般有以下几个步骤:1.分析问题,归纳出数学模型2.确定算法3.绘制流程图4.分配存储空间和工作单元5.根据流程图编制程序6.静态检查7.调试程序5.1.2流程图的画法规定1.流程图的概念流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2.流程图符号表示(1)开始框:表示程序的开始。开始(3)判断框(2)处理
3、框(执行框)条件NY(4)结束框结束结构程序设计程序的每个部分都由有限结构结合中的单元组成,并且只有单一的入口和单一的出口。基本结构有:顺序结构(线性结构)选择结构(分支结构)循环结构三种结构可以任意组合和嵌套构成复杂的程序。这三种结构可归纳为五种逻辑结构:(1)顺序结构(2)双分支结构……(3)多分支结构YN条件条件YN(4)DO_UNTIL循环结构NY(5)DO_WHILE循环结构图程序的逻辑结构格式5.2顺序结构程序设计特点:指令顺序执行,无分支、无循环、无转移。例5-1将两个字节数据相加,并存放到一个结果单元中DATASEGM
4、ENTAD1DB4CHAD2DB25HSUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA源程序如下:START:MOVAX,DATAMOVDS,AXMOVAL,AD1ADDAL,AD2MOVSUM,ALMOVAH,4CHINT21H;返回DOSCODEENDSENDSTART例5-2两个32位数的乘法程序。源程序如下:DATASEGMENTNUM1DD12345678HNUM2DD5A4BEF06HRESUDD2DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS
5、:DATASTART:MOVAX,DATAMOVDS,AXMOVEAX,NUM1MULNUM2MOVREU,EAX;存放结果的低字部分MOVREU+4,EDX;存放结果的高字部分MOVAH,4CHINT21HCODEENDSENDSTART例5-3将一个字节压缩BCD码转换成两个ASCII码。源程序如下:DATASEGMENTBCD_BUFDB96HASC_BUFDB2DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,BCD_BUF;
6、取BCD码MOVBL,AL;送BL暂存MOVCL,4SHRAL,CL;分离出高4位ADDAL,30H;变成ASCII码MOVASC_BUF,ALANDBL,0FH;屏蔽高4位,保留低4位ADDBL,30HMOVASC_BUF,BL注:在进行拆分前,应先保留原始数据例5-4利用直接查表法完成将键盘输入的一位10进制数(0-9)转换成对应的平方值,并存放在SQUBUF单元中。DATASEGMENTSQUTABDB0,1,4,9,16,25,36,49,64,81SQUBUFDB?DATAENDSCODESEGMENTASSUMECS:CO
7、DE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETSQUTAB;取平方表的首地址MOVAH,1;键盘输入一个数,得到其INT21H;ASCII码SUBAL,30H;由ASCII码→对应的数XLAT;查表MOVSQUBUF,AL;存储结果MOVAH,4CHINT21HCODEENDSENDSTART说明:DOS的1号功能调用MOVAH,01H;01号功能,从标准输入设备读一个字符INT21H;AL=键入的ASCII码DOS的2号功能调用MOVAH,02H;向标准输出设备(屏幕)输出一个字符INT
8、21H;DL=输出字符的ASCII码注意XLAT的换码指令的操作—5.3分支程序设计5.3.1转移指令转移指令无条件转移指令有条件转移指令1、无条件转移指令功能是无条件转移到指定地址,执行从该地址开始的指令。根据转移时是
此文档下载收益归作者所有