汇编语言第5章资料.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
…… lea di, array mov ax, number ;要查找数 ? cmp ax, [di+2] ; (ax)与第一个元素比较 ja chk_last lea si, [di+2] je exit ; (ax)=第一个元素,找到退出 stc jmp exit ; (ax)第一个元素,未找到退出 chk_last: mov si, [di] ;元素个数 shl si, 1 ; 计算最后一个元素 add si, di ; 的地址 cmp ax, [si] ; (ax)与最后一个元素比较 jb search je exit ; (ax)=最后一个元素,找到退出 stc jmp exit ; (ax)最后一个元素,未找到退出 算法1 compare: cmp ax, [bx+si] je exit ja higher dec cx mov high_idx, cx jmp mid higher: inc cx mov low_idx, cx jmp mid no_match: stc exit: …… search: mov low_idx, 1 mov bx, [di] ;个数 mov high_idx, bx mov bx, di mid: mov cx, low_idx mov dx, high_idx cmp cx, dx ja no_match add cx, dx shr cx, 1 mov si, cx shl si, 1 12 11 22 33 44 55 66 77 88 99 111 222 333 0 1 2 3 4 5 6 7 8 9 10 11 12 (ax)=55 di 12 6 10 si 12 6 4 (si)=0ah (di)=0ah Cf=0 (ax)=90 di 12 18 14 16 si 12 6 4 2 (si)=2 (di)=10h Cf=1 ? ? ? 折半算法2 算法2 idx_ok: shr si, 1 test si, 1 jz sub_idx inc si sub_idx: sub di, si jmp short compare higher: cmp si, 2 je no_match shr si, 1 jmp short even_idx all_done: mov si, di exit: …… search: mov si, [di] even_idx: test si, 1 jz add_idx inc si add_idx: add di, si compare: cmp ax, [di] je all_done ja higher cmp si, 2 jne idx_ok no_match: stc jmp exit x dw ? array_head dw 3,5,15,23,37,49,52,65,78,99 array_end dw 105 n dw 32 例:将正数 n 插入一个已整序的正数字数组 …… mov ax, n mov array_head-2, 0ffffh mov si, 0 compare: cmp array_end [si], ax jle insert mov b

文档评论(0)

光光文挡 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档