汇编语言程序设计分支结构精选文档.ppt
《汇编语言程序设计分支结构精选文档.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计分支结构精选文档.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言程序设计分支结构汇编语言程序设计分支结构本讲稿第一页,共十九页5.2 分支程序设计分支程序设计v分支结构是对问题的处理方法有两种以上不同选择时采用的程序设计方法,在程序中,根据某一判断的不同结果执行不同的程序段。v根据执行的程序段数量的多少不同,可分为双分支结构程序和多分支结构程序。v每一次对条件的判断都会产生两种可能的结果:真(条件满足)或假(条件不满足)。本讲稿第二页,共十九页5.2 分支程序设计分支程序设计v1.双分支结构典型的双分支结构程序的流程图:条件成立跳转执行第2个分支语句体,否则顺序执行第1个分支语句体。注意第1个分支体后一定要有一个JMP指令跳到第2个分支体后本讲稿第
2、三页,共十九页5.2 分支程序设计分支程序设计 条件成立跳转,否则顺序执行分支语句体;注意选择正确的条件转移指令和转移目标地址本讲稿第四页,共十九页5.2 分支程序设计分支程序设计v2.多分支程序设计v多个条件对应各自的分支语句体,哪个条件成立就转入相应分支体执行。多分支可以化解为双分支或单分支结构的组合,例如:Xor ah,ahXor ah,ah;等效于等效于cmp ah,0cmp ah,0 jz function0jz function0;ah;ah0 0,转向,转向function0function0 dec ah dec ah;等效于等效于cmp ah,1cmp ah,1 jz fun
3、ction1jz function1;ah;ah1 1,转向,转向function1function1 dec ah dec ah;等效于等效于cmp ah,2cmp ah,2 jz function2jz function2;ah;ah2 2,转向,转向function2function2AH=0function0YNAH=1function1YNAH=2function2YN本讲稿第五页,共十九页5.2 分支程序设计分支程序设计v地址表形成多分支利用地址表法实现多分支程序设计的一般方法为:把各分支程序段的入口地址(一般是偏移地址,也可以使段地址与偏移地址)依次存放在数据段的一个表中,形成地
4、址表。取各分支程序段的编号作为给分支入口地址的表地址的位移量。某个分支程序入口地址的表地址为:表地址表地址=编号编号*2+入口地址首地址入口地址首地址。根据条件首先在地址表中找到转移的目标地址,然后转到相应位置,从而实现多分支。本讲稿第六页,共十九页5.2 分支程序设计分支程序设计v例:用地址表法编写程序实现从低到高逐位检测一个字节数据,找到第一个非0的位数。检测时,为0,则继续检测;为1,则转移到对应的处理程序段显示相应的位数。DATA SEGMENTNUM DB 78HADTAB DW AD0,AD1,AD2,AD3,AD4,AD5,AD6,AD7;地址表DATA ENDSCODE SEG
5、MENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX本讲稿第七页,共十九页5.2 分支程序设计分支程序设计 MOV AL,NUM MOV DL,?CMP AL,0 JZ DISP MOV BX,0;BX用来记录位用来记录位1的位数的位数AGAIN:SHR AL,1JC NEXTINC BXJMP AGAINNEXT:SHL BX,1 JMP ADTABBXAD0:MOV DL,0 JMP DISPAD1:MOV DL,1 JMP DISPAD2:MOV DL,2;第;第2位为位为1,JMP DISPAD3:MOV DL,3 JMP DISP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 分支 结构 精选 文档
限制150内