第4节汇编语言程序设计2013.ppt

  1. 1、本文档共150页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定义数据伪指令 DATA1 DB 20H DATA2 DW 0240H,1000H DATA3 DB (-1*3),(15/5) DATA4 DD 12345H DATA5 DB 0123 DATA6 DW AB,C,D DATA7 DB ? DATA8 DD ? DATA9 DB 5 DUP (00) DATA10 DW 3DUP(?) 1、分支程序的结构形式 分支程序结构可以有两种形式,如图5.6所示。 不论哪一种形式,它们的共同特点是:运行方向是向前的,在某一种特定条件下,只能执行多个分支中的一个分支。 2 分支程序设计方法 程序的分支一般用条件转移指令来产生,利用条件转移指令不影响条件码的特性,可以连续使用条件转移指令使程序产生多个不同的分支如下例。 【例4-5】 在附加段中,有一个按从小到大顺序排列的无符号数数组,其首地址存放在DI寄存器中,数组中的第一个单元存放着数组长度,在AX中有一个无符号数,要求在数组中查找(AX)。如找到,则使CF=0,并在SI中给出该元素在数组中的偏移地址;如未找到,则使CF=1。 上述遇到的过多个表格查找的例子,大都使用顺序查找的方法。本例是一个已经排序的数组,可以采用折半查找法以提高查找效率。 折半查找法先取有序数组的中间元素与查找值相比较。如相等则查找成功;如查找值大于中间元素,则再取高半部的中间元素与查找值相比较。如查找值小于中间元素,则再取低半部的中间元素与查找值相比较。如此重复直到查找成功或最终未找到该数为止。 折半查找法的效率高于顺序查找法,对于长度为N的表格,顺序查找法平均要作N/2次比较,而折半查找法的平均比较次数为lb N。所以,如果数组长度为100,则顺序查找法平均要作50次比较,而折半查找法平均作7次比较就可以了。 在一个长度为N的有序数组R中,查找元素K的折半查找算法可描述如下: (1) 初始化被查找数组的首尾下标,LOW←L,HIGH←N。 (2) 若LOWHIGH,则查找失败,置CF=1,退出程序。否则,计算中点:MID←(LOW+HIGH)/2。 (3) K与中点元素R[MID]比较。若K=R[MID]则查找成功,程序结束;若KR[MID],则转步骤(4);若KR[MID],则转步骤(5)。 (4) 低半部分查找(Lower),HIGH←MID-1,返回步骤(2),继续查找。 (5) 高半部分查找(Higher),LOW←MID+1,返回步骤(2),继续查找。 图4.7表示了折半查找算法的程序框图。给出的程序首先把查找值与数组的第一个元素和最后一个元素相比较,如果找到该数小于第一个元素或大于最后一个元素则结束查找,否则从SEARCH开始折半查找。SEARCH以前的工作在图5.7中未表示出来。折半查找算法的程序实现如程序清单所示。 例5-5折半查找算法程序。 DSEG SEGMENT LOW_I DW ? HIGH_I DW ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG,DS: DSEG,ES: DSEG B_SRCH PROC NEAR PUSH DS PUSH AX MOV AX,DSEG MOV DS,AX MOV ES,AX POP AX CMP AX,ES:[DI+2] JA CHK_LAST LEA SI,ES:[DI+2] JE EXIT STC JMP EXIT CHK_LAST:MOV SI,ES:[DI] SHL SI,1 ADD SI,DI CMP AX,ES: [SI] JB SEARCH JE EXIT STC JMP EXIT SEARCH: MOV LOW_I,1 MOV BX,ES: [DI] MOV HIGH_I,BX MOV BX,DI MID: MOV CX,LOW_I MOV DX,HIGH_I

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档