资源描述:
《《基本结构程序设计》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章内容:●掌握顺序结构程序的设计;●掌握分支转移指令的使用;●掌握分支程序和循环程序的设计方法。第5章基本结构程序设计本章要求1.掌握顺序结构程序的设计方法,能利用汇编语言基本指令熟练进行顺序结构程序设计;2.熟练掌握分支转移指令的使用,如何生成有效测试标志,选择何种方式的转移指令。3.掌握分支程序设计方法;4.掌握循环程序设计方法及串指令的应用。本章重点及难点:汇编指令的综合应用及多分支、多重循环程序设计。计划学时:8--10学时顺序结构程序在设计上比较简单,它按指令书写的先后次序执行一系列操作,这种程
2、序也称为直线程序。组成输入数据已知的数据,即让计算机进行运算的对象处理根据问题的需要对输入数据进行相应的运算处理输出结果将运算处理的结果输出基本语句:数据传送指令、算术运算指令和逻辑运算指令执行过程:指令2指令n开始结束5.1顺序结构程序设计【例】:在屏幕上显示一个字符串:“WELCOME!”。完整程序:DATASEGMENT;数据段开始STRINGDB‘WELCOME!’,13,10,’$’DATAENDS;数据段结束CODESEGMENT;代码段开始ASSUMECS:CODE,DS:DATASTART:
3、MOVAX,DATAMOVDS,AX;设置DSMOVAH,9;子功能号9,用于输出字符串LEADX,STRING;字符串偏移地址INT21H;系统功能调用MOVAX,4C00H;返回DOSINT21HCODEENDS;代码段结束ENDSTART【例】:对于三个8位无符号数86H、34H和21H,编写RESULT=86H*34H-21H的程序。DATASEGMENTNUMDB86H,34H,21HRESULTDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MO
4、VAX,DATAMOVDS,AXLEASI,NUMMOVAL,[SI]MOVBL,[SI+1]MULBL;乘积放在AXMOVBL,[SI+2]MOVBH,0;把BX高位字节清零SUBAX,BXMOVRESULT,AX;保存运算结果MOVAH,4CHINT21HCODEENDSENDSTART取操作数1取操作数2求乘积取操作数3将减数扩展为16位做减法结果送指定处开始结束【例】:以BUF为首址的内存中存有0~15的平方值表。查表求X单元中数(在0~15之间)的平方值,并送回X单元。DATASEGMENTBUF
5、DB0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225XDB12DATAENDSSTACKSEGMENTSTACK‘STACK’DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFXORAX,AXMOVAL,XADDSI,AXMOVAL,[SI]MOVX,ALMOVAH,4CHINT21HCODEENDSENDST
6、ART取表的首地址取要求值的数查表求其平方值开始结束转移的目标地址直接出现在指令中功能:无条件地使程序转移到指定的目标地址类型段内转移改变IP的值,CS的值不变直接方式间接方式转移的目标地址在寄存器或存储单元中段间转移改变IP和CS的值直接方式间接方式格式:JMP目标标号功能:IP←IP+disp格式:JMP字地址指针功能:IP←EA格式:JMP目标标号功能:IP←OFFSET目标标号CS←SEG目标标号格式:JMP双地址指针功能:IP←[EA]CS←[EA+2]5.2.1转移指令5.2分支程序设计1.无条
7、件转移指令JMP功能:以某些标志位或标志位的逻辑运算为依据,满足条件,程序转移至指定目标;不满足条件,程序顺序执行。注意:条件转移的目标地址在+127或-128字节的范围之内分类:1.单个标志位的条件转移指令2.组合条件的条件转移指令2.条件转移指令(1).单个标志位的条件转移指令类型C标志JB/JNAE/JCC=1时,转移JAE/JNB/JNCC=0时,转移Z标志JE/JZZ=1时,转移JNE/JNZZ=0时,转移S标志JSS=1时,转移JNSS=0时,转移P标志JP/PEP=1时,转移JNP/JPOP=
8、0时,转移O标志JOO=1时,转移JNOO=0时,转移(2).组合条件的条件转移指令比较大小<≤≥>无符号数JB/JCJNAEJBE/JNCJNAJNB/JNCJAEJNBEJA带符号数JL/JNGEJLE/JNGJNL/JNGEJG/JNLE(3).CX的值为0转移指令格式:JCXZCX=0,转移说明:(1)条件转移指令不影响标志位(2)条件转移指令前安排算术运算、比较、测试等影响相应标志位的指令无符号数:A代