版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 分支结构程序设计,在高级语句中,分支结构一般用IF语句来实现,在汇编语言中,课用无条件转移指令或条件转移指令实现的分支结构。如图6.2给出了二种常用的分支结构。 在编写分支程序时,要尽可能避免编写“头重脚轻”的结构,即:当前分支条件成立时,将执行一系列指令,而条件不成立时,所执行的指令很少。这样就使后一个分支离分支点较远,有时甚至会遗忘编写后一分支程序。这种分支方式不仅不利于程序的阅读,而且也不便将来的维护。 所以,在编写分支结构时,一般先处理简单的分支,再处理较复杂的分支。对多分支的情况,也可遵循“由易到难”的原则。因为简单的分支只需要较少的指令就能处理完,一旦处理完这种情况后,在后
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 低于等于/
3、不高于则转移。 JNBE/JA 不低于等于/高于则转移,根据两个带符号数的比较结果判断的转移指令 本指令用于两个有符号数a、b的比较。 JL/JNGE 小于/不大于等于则转移。 JNL/JGE 不小于/大于等于则转移。 JLE/JNG 小于等于/不大于则转移。 JG/JNLE 大于/不小于等于则转移,计算AX的绝对值,cmp ax,0 jns nonneg;分支条件:AX0 neg ax;条件不满足,求补 nonneg:mov result,ax;条件满足 cmp ax,0 jl yesneg;分支条件:AX0 jmp nonneg yesneg:neg ax;条件不满足,求补 nonneg:
4、mov result,ax;条件满足,无条件转移指令,1.段内转移 1)段内转移直接寻址 JMP ABC 2)段内转移间接寻址 JMP CX JMP WORD PTR BX 2.段间转移 1)段间转移直接寻址 JMP FAR PTR TAG 2)段间转移间接寻址 JMP DWORD PTRBXSI,编写一程序段,计算下列函数值。其中:变量X和Y是有符号字变量,MOV AX, X CMP AX, 0 JGE case23 ADD AX, 10 ;第一种情况的计算结果 JMP result case23: CMP AX, 10D JG case3 MOV BX, 30D IMUL BX ;第二种情
5、况的计算结果 JMP result case3: SUB AX, 9 ;第三种情况的计算结果 result: MOV Y, AX ;把计算结果保存到变量Y中,多分支程序设计,多个条件对应各自的分支语句体,哪个条件成立就转入相应分支体执行。多分支可以化解为双分支或单分支结构的组合,地址表形成多分支,需要在数据段事先安排一个按顺序排列的转移地址表 输入的数字作为偏移量。因为只有2个字节16位偏移地址,所以偏移量需要乘2 关键是要理解间接寻址方式JMP指令,DATAS SEGMENT base dw m0 dw m1 dw m2 mes0 db first,$ mes1 db second,$ me
6、s2 db third,$ DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS,CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov ah,8 int 21h cmp al,0;数字 2? ja start,mov ah,0 and al,0fh ;将ASCII码转换成数字 add al,al mov bx,ax jmp basebx ; (段内)间接转移: IPbase+bx m0:mov dx,offset mes0 jmp disp m1:mov dx,offset mes1 jmp disp m2:mov dx,offset
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司对船员制定奖惩制度
- 乡村振兴促进法的特色与关键制度
- 车间兼职安全员奖惩制度
- 中学教师周课时奖惩制度
- 学校后勤岗位奖惩制度
- 备料员行为奖惩制度
- 医疗质量管理及奖惩制度
- 民办学校校内奖惩制度
- 物管公司员工奖惩制度
- 出口退税操作奖惩制度
- CCAA审核概论重点内容
- 铁路信号培训课件
- 故宫研学打卡手册-小册子版本
- 2025年学校设施设备市场调查报告
- 成都高新辅警笔试题型及答案
- 2025年制止餐饮浪费试题及答案
- 小学综合实践三下3布置我们的家公开课获奖课件百校联赛一等奖课件
- 财务会计(对外经济贸易大学)知到智慧树网课答案
- 2025蚌埠中考试卷真题及答案
- RNP进近课件教学课件
- 乳品品控专业知识培训课件
评论
0/150
提交评论