欢迎来到天天文库
浏览记录
ID:50152154
大小:108.00 KB
页数:19页
时间:2020-03-09
《汇编语言程序设计教学课件葛建梅 第5章 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章程序设计基础技术在汇编语言程序设计中,程序有顺序、分支、循环和子程序四种基本结构形式。5.1程序设计概述5.2顺序结构程序设计5.3分支结构程序设计5.4循环结构程序设计5.1程序设计概述汇编语言程序设计的基本过程可分为以下几个步骤:(1)分析问题,建立数学模型(2)确定算法(3)画流程框图(4)编写程序(5)上机调试程序返回5.2顺序结构程序设计顺序程序设计也称为简单程序设计,这种结构的程序不使用分支、循环结构,程序本身的逻辑非常简单,所以只能完成一些简单操作。其特点是程序顺序执行,由前向后逐条执行指令。返回5.3分支
2、结构程序设计分支程序结构有两种形式:二分支程序结构和多分支程序结构。程序的分支一般是通过执行转移指令来实现的。5.3.1.转移指令转移指令分为无条件转移指令和条件转移指令。1.无条件转移指令格式:JMPOPR无条件转移分为段内转移和段间转移。(1)段内直接短转移格式:JMPSHORTOPR(2)段内直接近转移格式:JMPNEARPTROPR(3)段内间接转移格式:JMPWORDPTROPR(4)段间直接远转移格式:JMPFARPTROPR(5)段间间接转移格式:JMPDWORDPTROPR2.条件转移指令(1)根据条件标志位的
3、状态判断的转移指令这组条件转移指令共有10条。①JZ/JE结果为零/相等则转移。格式:JZ/JEOPR测试条件:ZF=1②JNZ/JNE结果不为零/不相等则转移。格式:JNZ/JNEOPR测试条件:ZF=0③JS结果为负则转移。格式:JSOPR测试条件:SF=1④JNS结果为正则转移。格式:JNSOPR测试条件:SF=0⑤JO溢出则转移。格式:JOOPR测试条件:OF=1⑥JNO不溢出则转移。格式:JNOOPR测试条件:OF=0⑦JP/JPE奇偶位为1则转移。格式:JP/JPEOPR测试条件:PF=1⑧JNP/JPO奇偶位为0
4、则转移。格式:JNP/JPOOPR测试条件:PF=0⑨JC进位为1则转移。格式:JCOPR测试条件:CF=1⑩JNC进位为0则转移。格式:JNCOPR测试条件:CF=0(2)根据两个无符号数的比较结果判断的转移指令①JB/JNAE低于/不高于等于转移。格式:JB/JNAEOPR测试条件:CF=1且ZF=0本指令用于两个无符号数a、b的比较。若a<b,则满足条件,转移。②JNB/JAE不低于/高于等于则转移。格式:JNB/JAEOPR测试条件:CF=0或ZF=1本指令用于两个无符号数a、b的比较。若a≥b,则满足条件,转移。③J
5、BE/JNA低于等于/不高于则转移。格式:JBE/JNAOPR测试条件:CF=1或ZF=1本指令用于两个无符号数a、b的比较。若a≤b,则满足条件,转移。④JNBE/JA不低于等于/高于则转移。格式:JNBE/JAOPR测试条件:CF=0且ZF=0本指令用于两个无符号数a、b的比较。若a>b,则满足条件,转移。(3)根据两个带符号数的比较结果判断的转移指令①JL/JNGE小于/不大于等于则转移。格式:JL/JNGEOPR测试条件:SF≠OF且ZF=0本指令用于两个有符号数a、b的比较。若a<b,则满足条件,转移。②JNL/JG
6、E不小于/大于等于则转移。格式:JNL/JGEOPR测试条件:SF=OF或ZF=1本指令用于两个有符号数a、b的比较。若a≥b,则满足条件,转移。③JLE/JNG小于等于/不大于则转移。格式:JLE/JNGOPR测试条件:SF≠OF或ZF=1本指令用于两个有符号数a、b的比较。若a≤b,则满足条件,转移。④JG/JNLE大于/不小于等于则转移。格式:JG/JNLEOPR测试条件:SF=OF且ZF=0本指令用于两个有符号数a、b的比较。若a>b,则满足条件,转移。(4)测试CX内容为零则转移指令JCXZCX寄存器的内容为零则转移
7、格式:JCXZOPR测试条件:(CX)=05.3.2分支程序设计1.利用比较(或测试)转移指令实现分支程序设计2.利用跳转表实现分支程序设计(1)根据表内地址分支(2)根据表内指令分支(3)根据表内关键字分支返回5.4循环结构程序设计5.4.1循环程序的结构1.循环程序的组成一个循环程序通常由以下5个部分组成:(1)初始化部分(2)工作部分(3)修改部分(4)控制部分(5)结束处理部分2.循环程序的结构形式循环程序有两种结构形式:(1)“先执行,后判断”结构(2)“先判断,后执行”结构5.4.2循环指令循环指令LOOP格式:L
8、OOPOPR测试条件:(CX)≠0当为零或相等时循环指令LOOPZ/LOOPE格式:LOOPZ/LOOPEOPR测试条件:ZF=1且(CX)≠0当不为零或不相等时循环指令LOOPNZ/LOOPNE格式:LOOPNZ/LOOPNEOPR测试条件:ZF=0且(CX)≠05.4.3
此文档下载收益归作者所有