




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章控制转移指令与分支程序设计,汇编语言程序设计,(3)分支结构(4)子程序结构,程序结构,(5)复合结构:多种程序结构的组合,(1)顺序结构(2)循环结构,5.0顺序程序设计,顺序程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构一般纯粹的顺序结构的程序设计较少。,例,datasegmentXdw5Ydw6Zdw7Wdw?dataendscodesegmentassumecs:code,ds:datastart:,movax,Xaddax,Yaddax,ZmovW,axmovah,4chint21hcodeendsendstart,WX+Y+Z,分支结构循环结构,5.1循环与分支结构程序的结构,用于实现分支、循环、过程等程序结构的指令称为“控制转移类指令”。控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变。,无条件转移指令JMP条件转移指令JZ/JNZ、JE/JNE、JS/JNS、JO/JNO、JP/JNP、JB/JNB、JL/JNL、JBE/JNBE、JLE/JNLE、JCXZ循环指令LOOP、LOOPZ/LOOPE、LOOPNZ/LOOPNE子程序调用和返回指令CALL、RET中断与中断返回指令INT、INTO、IRET,控制转移指令:,无条件转移指令:JMP,指格令式:JMP地址表达式指令功能:无条件地转移到由地址表达式所确定的目标单元。,例:代码段内有一条无条件转移指令如下:JMPHELLOHELLO:MOVAL,3,段内转移(只修改IP的值),段间转移(同时修改CS和IP的值),直接转移,间接转移,转移行为,短转移,近转移,段间直接转移,段间间接转移,8086CPU的转移行为分为:,段内转移(只修改IP的值),直接转移,间接转移,JMPSHORTOPR(IP)(IP)+8位位移量IP的变化范围为-128+127,短转移,近转移,JMPNEARPTROPR(IP)(IP)+16位位移量IP的变化范围为-32768+32767,JMPWORDPTROPR(IP)(EA),8086CPU的转移行为分为:,实际编程时,汇编程序会根据目标地址的距离,自动处理成短转移、近转移或远转移程序员可用操作符short、nearptr或farptr强制,段间转移同时修改CS和IP的值。,段间转移(同时修改CS和IP的值),段间直接远转移:JMPFARPTROPR(IP)OPR的段内偏移地址(CS)OPR所在段的段地址,段间间接转移:JMPDWORDPTROPR(IP)(EA)(CS)(EA+2),例题:,assumecs:codecodesegmentstart:movax,0jmpshortsaddax,1s:incaxcodeendsendstart,条件转移指令:注意:只能使用段内直接寻址的8位位移量(1)根据单个条件标志的设置情况转移格式测试条件JZ(JE)OPRZF=1JNZ(JNE)OPRZF=0JSOPRSF=1JNSOPRSF=0JOOPROF=1JNOOPROF=0JPOPRPF=1JNPOPRPF=0JCOPRCF=1JNCOPRCF=0,为区别有符号数的大小,无符号数的大小用高(Above)、低(Below)表示格式测试条件小于()JB(JNAE,JC)OPRCF=1大于等于()JNB(JAE,JNC)OPRCF=0小于等于()JBE(JNA)OPRCFZF=1大于JNBE(JA)OPRCFZF=0*适用于地址或双精度数低位字的比较,(2)比较两个无符号数,并根据比较结果转移*,(3)比较两个带符号数,并根据比较结果转移*判断有符号数的大(Greater)、小(Less)格式测试条件小于()JL(JNGE)OPRSFOF=1大于等于()JNL(JGE)OPRSFOF=0小于等于()JNG(JLE)OPR(SFOF)ZF=1大于()JG(JNLE)OPR(SFOF)ZF=0*适用于带符号数的比较(4)测试CX的值为0则转移格式测试条件JCXZOPR(CX)=0,例:X,Y为带符号数,如果X50,转到TOO_HIGH;否则做X-Y,如果溢出转到OVERFLOW,否则计算X-Y|,并把结果存入RESULT中。,MOVAX,XCMPAX,50JGTOO_HIGHSUBAX,YJOOVERFLOWJNSNONNEGNEGAXNONNEG:MOVRESULT,AXTOO_HIGH:OVERFLOW:,例:、是双精度数,分别存于DX,AX及BX,CX中,时转L1,否则转L2,CMPDX,BXJGL1JLL2CMPAX,CXJAL1L2:L1:,课堂练习:P113,3.36,MOVDX,X+2MOVAX,XADDAX,XADCDX,X+2CMPDX,Y+2JLL2JGL1CMPAX,YJBEL2L1:MOVAX,1JMPSHORTEXITL2:MOVAX,2EXIT:INT20H,判断并比较p*2与q的大小关系,若p*2q,则转向L1,使(AX)=1后退出;若p*2q,则转向L2,使(AX)=2后退出。,datareasegmentmessg1dbpleaseinputacapitalletter(A-Z):,0dh,0ah,$datareaendscodesegmentassumecs:code,ds:datareastart:movax,datareamovds,axleadx,messg1;在屏幕上显示提示信息movah,09int21hmovah,1;接收用户输入的一个字符,并显示在屏幕上int21h,上机实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家开放大学2025年春《行政领导学》形考任务234参考答案国开
- 2025年移动互联网运营师考试试卷及答案
- 2025年教育管理与领导力考试题库及答案
- 2025年历年经济学考试题库及答案
- 青岛版三年级下册期末考试数学试卷(含答案)2024-2025学年山东省聊城市高唐县
- 清明教学设计课件
- 拼音整体认读教学课件
- 观察日记教学设计课件
- 课件教学用途有哪些方面
- 车辆消防安全知识培训课件教学
- 2025年学历类自考专业(学前教育)学前儿童发展-学前教育原理参考题库含答案解析(5套)
- 日本设备销售合同范本
- (2024)大学生宪法知识竞赛题库及答案
- 2025年芜湖市鸠江区医院招聘16名工作人员笔试参考题库附答案解析
- T-CBDA 86-2025 建筑幕墙、采光顶及金属屋面工程质量验收标准
- 厨房消防安全培训
- 小陈 税务风险应对常见指标与答复思路
- 2025云南昭通昭阳区住房和城乡建设局招聘编外工作人员5人笔试备考题库及答案解析
- 2025年《中华人民共和国档案法》知识培训试题及答案
- 新高一数学暑假检测卷(学生版)-2025年新高一数学暑假衔接讲练 (人教A版)
- 2025至2030年中国建筑膜行业市场调查研究及发展趋势预测报告
评论
0/150
提交评论