09 第四章4 作业与子程序.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
09 第四章4 作业与子程序.ppt

方法1:拼凑 Data segment first db 90h,5fh,6eh,69h second db 5 dup(?) third db 5 dup(?) forth db 5 dup(?) Data ends Code segment assume cs:code,ds:data mov ax, data mov ds,ax lea si,first lea di,second mov cx,2 clc 移出的最高两位放入[di+4] mov ax,[si] inc si inc si mov dx,[si] push dx push ax rol dx,cl and dl,03 mov [di+4],dl 拼凑 rol ax,cl and al,03h mov bl,al pop ax pop dx shl dx,cl shl ax,cl or dl,bl mov [di],ax mov [di+2],dx 右移开始 lea si,first lea di,third mov cx,2 clc mov ax,[si] inc si inc si mov dx,[si] push ax push dx 右移,处理移出的最低两位 and al,03h ror al,cl mov [di],al mov cl,2 ror dx,cl and dh,0c0h mov bl,dh pop dx 右移,拼出结果 pop ax shr ax,cl or ah,bl mov [di+1],ax shr dx,cl mov [di+3],dx 左移子程序 Left proc near mov si,offset first mov di,offset second mov cl,2 xor bl,bl mov ax,[si] mov dx,[si+2] Left1: shl ax,1 rcl dx,1 rcl bl,1 dec cl jnz left1 mov [di],ax mov [di+2],dx mov [di+4],bl ret Left endp 右移子程序 right proc near mov si,offset first mov di,offset third mov cl,2 xor bl,bl mov ax,[si] mov dx,[si+2] right1: shr ax,1 rcr dx,1 rcr bl,1 dec cl jnz right1 mov [di],bl mov [di+1],ax mov [di+3],dx ret right endp .model small .stack 200 .code mov ax mov dl,16 mov cx,0 repeat: test ax,0ffffh js shift1 jns shift2 shift1: inc cl shl ax,1 dec dl jNZ repeat jmp exit shift2: inc ch Next: shl ax,1 dec dl jNZ repeat exit: mov ah,4ch int 21h end 串操作指令 串是由字节、字、或双字组成的字符或数据序列,存放在存储器中。 基本指令集处理的串长度不超过64K。 串操作常用于数据块的快速移动、比较、搜索和存取,执行一次操作串中一个元 素,配上重复前缀可按条件完成对整个串的操作。 重复前缀 重复前缀指令的名称、汇编格式、重复条件、后续的串指令及操作见下表。 重复前缀也是一条指令,但不能单独使用,需加在串操作指令之前,使 串操作指令重复或条件重复执行,相当于运行一个循环程序; 取串指令LODS一般不加重复前缀,因为重复取出串中的元素送到累加 器Acc无意义(后面取出的数冲掉前面取出的数)。 串指令使用的一般方法 [3.3.5] 1.串传送指令 MOVSB / MOVSW [3.3.5] 1.串传送指令 MOVSB / MOVSW (move) [3.3.5] 2.串比较指令 CMPSB / CMPSW (compare) [3.3.5] 3.串搜索(扫描)指令 SCASB / SCASW [3.3.5] 4.串装入指令 LODSB /LODSW (load) 从内存串数据逐个装入到CPU的AL里来,使用重复前缀没有意义 [3.3.5] 5.串存储指令 STOSB / STOSW (stor

文档评论(0)

jackzjh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档