已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章分支结构程序设计,分支结构是一种非常重要的程序结构,也是实现程序功能选择所必要的程序结构。由于汇编语言需要书写转移指令来实现分支结构,而转移指令肯定会破坏程序的结构,所以,编写清晰的分支结构是掌握该结构的重点,也是用汇编语言编程的基本功。在程序中,当需要进行逻辑分支时,可用每次分二支的方法来达到程序最终分多支的要求,也可是用地址表的方法来达到分多支的目的。,在高级语句中,分支结构一般用IF语句来实现,在汇编语言中,课用无条件转移指令或条件转移指令实现的分支结构。如图6.2给出了二种常用的分支结构。在编写分支程序时,要尽可能避免编写“头重脚轻”的结构,即:当前分支条件成立时,将执行一系列指令,而条件不成立时,所执行的指令很少。这样就使后一个分支离分支点较远,有时甚至会遗忘编写后一分支程序。这种分支方式不仅不利于程序的阅读,而且也不便将来的维护。所以,在编写分支结构时,一般先处理简单的分支,再处理较复杂的分支。对多分支的情况,也可遵循“由易到难”的原则。因为简单的分支只需要较少的指令就能处理完,一旦处理完这种情况后,在后面的编程过程中就可集中考虑如何处理复杂的分支。,7.2转移指令,1条件转移指令根据条件标志位的状态判断的转移指令这组条件转移指令共有10条。JZ结果为零则转移。JNZ/JNE结果不为零则转移。JS结果为负则转移。JNS结果为正则转移。JO溢出则转移。JNO不溢出则转移。,JP/JPE奇偶位为1则转移。JNP/JPO奇偶位为0则转移JC进位为1则转移。JNC进位为0则转移。,根据两个无符号数的比较结果判断的转移指令指令用于两个无符号数a、b的比较。JB/JNAE低于/不高于等于转移。JNB/JAE不低于/高于等于则转移。JBE/JNA低于等于/不高于则转移。JNBE/JA不低于等于/高于则转移。,根据两个带符号数的比较结果判断的转移指令本指令用于两个有符号数a、b的比较。JL/JNGE小于/不大于等于则转移。JNL/JGE不小于/大于等于则转移。JLE/JNG小于等于/不大于则转移。JG/JNLE大于/不小于等于则转移。,计算AX的绝对值,cmpax,0jnsnonneg;分支条件:AX0negax;条件不满足,求补nonneg:movresult,ax;条件满足cmpax,0jlyesneg;分支条件:AX0jmpnonnegyesneg:negax;条件不满足,求补nonneg:movresult,ax;条件满足,无条件转移指令,1.段内转移1)段内转移直接寻址JMPABC2)段内转移间接寻址JMPCXJMPWORDPTRBX2.段间转移1)段间转移直接寻址JMPFARPTRTAG2)段间转移间接寻址JMPDWORDPTRBXSI,编写一程序段,计算下列函数值。其中:变量X和Y是有符号字变量。,MOVAX,XCMPAX,0JGEcase23ADDAX,10;第一种情况的计算结果JMPresultcase23:CMPAX,10DJGcase3MOVBX,30DIMULBX;第二种情况的计算结果JMPresultcase3:SUBAX,9;第三种情况的计算结果result:MOVY,AX;把计算结果保存到变量Y中,多分支程序设计,多个条件对应各自的分支语句体,哪个条件成立就转入相应分支体执行。多分支可以化解为双分支或单分支结构的组合,,地址表形成多分支,需要在数据段事先安排一个按顺序排列的转移地址表输入的数字作为偏移量。因为只有2个字节16位偏移地址,所以偏移量需要乘2关键是要理解间接寻址方式JMP指令,DATASSEGMENTbasedwm0dwm1dwm2mes0dbfirst,$mes1dbsecond,$mes2dbthird,$DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDS,CODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXmovah,8int21hcmpal,0;数字2?jastart,movah,0andal,0fh;将ASCII码转换成数字addal,almovbx,axjmpbasebx;(段内)间接转移:IPbase+bxm0:movdx,offsetmes0jmpdispm1:movdx,offsetmes1jmpdis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南省新县事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南洛阳市涧西区引进研究生学历人才50人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南安阳内黄县事业单位招聘考试笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南三门峡渑池县金融办医保局审计局政协政务服务和大数据局招聘27人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河北秦皇岛市青龙满族自治县事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 《铭记历史强国有我-12·13国家公祭日高中班会教学设计》
- 《基于大单元的国际合作与全球治理》教学设计(高中二年级地理)
- 心归田园何处-九年级心理健康教育“田园心理调适”教学设计
- 六年级下册劳动教育·项目式学习教案
- 巧手缝出童趣世界-小学三年级劳动“填充布艺”大单元教学教案
- 疟疾防治医护培训课件
- 2026年供应链管理师理论知识考试复习题库(新版)
- 2026年加油站防恐应急处置方案
- 紫金保险工作制度
- 高效新闻稿写作技巧与模板
- 2026年国企物业招聘考试试题及答案
- 《道德与法治》新教材的使用状况总结
- 知识点四:老年人常见问题的观察方法
- 完善内部规章制度
- (2025年)政府采购水平测试题及答案
- 私立医疗机构薪酬竞争与人才保留策略
评论
0/150
提交评论