欢迎来到天天文库
浏览记录
ID:27105166
大小:374.50 KB
页数:70页
时间:2018-12-01
《基本结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章基本结构程序设计5.1顺序结构程序设计5.2分支结构程序设计5.3循环结构程序设计《IBMPC80X86汇编语言程序设计》冶金工业出版社第5章5.1顺序结构程序设计在讲顺序结构程序设计之前,先了解以下三方面的内容汇编语言程序设计的基本步骤流程图的画法规定程序的基本结构汇编语言程序设计一般有以下几个步骤:1.分析问题,归纳出数学模型2.确定算法3.绘制流程图4.分配存储空间和工作单元5.根据流程图编制程序6.静态检查7.调试程序1.流程图的概念流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步
2、骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2.流程图符号表示(1)开始框:表示程序的开始。开始(3)判断框(2)处理框(执行框)条件NY(4)结束框结束结构程序设计程序的每个部分都由有限结构结合中的单元组成,并且只有单一的入口和单一的出口。基本结构有:顺序结构(线性结构)选择结构(分支结构)循环结构三种结构可以任意组合和嵌套构成复杂的程序。这三种结构可归纳为五种逻辑结构:(1)顺序结构(2)双分支结构……(3)多分支结构YN条件条件YN(4)DO_UNTIL循环结构NY
3、(5)DO_WHILE循环结构图程序的逻辑结构格式5.1顺序结构程序设计特点:指令顺序执行,无分支、无循环、无转移。例5-1编写程序段,完成下面公式的计算(其中:变量X和Y是32位有符号数,变量A,B和Z是16位有符号数)。A←(X-Y+24)/Z的商,B←(X-Y+24)/Z的余数程序如下:DATA1SEGMENTXDD ?YDD ?ZDW ?ADW ?BDW ?…DATA1ENDSCODE1SEGMENT…MOVAX,XMOVDX,X+2;用(DX:AX)来保存32位变量X的数值SUBAX,YSBBDX
4、,Y+2;(DX:AX)-(Y+2:Y)ADDAX,24DADCDX,0;(DX:AX)+24IDIVZMOVA,AXMOVB,DX…CODE1ENDSSTART:MOVAX,DATAMOVDS,AXMOVAL,AD1ADDAL,AD2MOVSUM,ALMOVAH,4CHINT21H;返回DOSCODEENDSENDSTART例5-2利用直接查表法完成将一位16进制数转换成对应它相应的ASCII码。DATASEGMENTTABLEDB30H,31H,32H,33H,34H,35H,36H,37HDB38H,
5、39H,41H,42H,43H,44H,45H,46HNUMDB4ASCIIDB?DATAENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETTABLEXORAX,AX;AX清零MOVAL,NUMADDBX,AXMOVAL,[BX]MOVASCII,ALMOVAH,4CH;返回DOSINT21HCOSEGENDSENDSTART说明:DOS的1号功能调用MOVAH,01H;从标准输入设备读一个字符INT21H;A
6、L=键入的ASCII码DOS的2号功能调用MOVAH,02H;向标准输出设备输出一个字符INT21H;DL=输出字符的ASCII码注意XLAT的换码指令的操作5.2分支程序设计转移指令转移指令无条件转移指令有条件转移指令1、无条件转移指令功能是无条件转移到指定地址,执行从该地址开始的指令。根据转移时是否重置CS的内容,无条件转移指令段内转移段间转移段内转移(近转移):转移时只改变IP寄存器的内容,CS的值保持不变,条件转移和循环指令只能实现段内转移。段间转移(远转移):是在不同代码段之间转移,不仅改变IP的
7、值,也改变CS的值,软中断和中断返回总是段间转移。(1)段内直接短转移格式:JMPSHORTOPR功能:IP←IP+8位偏移量其中OPR为一般标号,转移范围-128~127例:NEXT:MOVAX,CX……JMPNEXT……JMPOVER……OVER:MOVAX,1……(2)段内直接近转移格式:JMPNEARPTROPR功能:IP←IP+16位的偏移量其中OPR为一般标号,转移范围为-32768~32767地址差为0~65535,所以近转移可以到达实模式下当前代码段的任何位置。(3)段内间接转移格式:JMP
8、WORDPTROPR功能:IP←(EA)OPR是16位的通用寄存器或字存储器。例:JMPCX;CX寄存器的内容送IPJMPWORDPTR[1234];字存储单元[1234]的内容送IP7856……JMP3412……MOVAX,1……DS:1234H原IP=××××新IP=5678H转移指令(4)段间直接转移格式:JMPFARPTROPR功能:IP←OPR的偏移地址,CS←OPR的段地址其中OPR是一个标号,所代表
此文档下载收益归作者所有