微机原理第03篇3算术逻辑移位串.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
比较字符串 mov si,offset string1 mov di,offset string2 mov cx,count cld repz cmpsb ;重复比较两个字符 jnz unmatch ;字符串不等,转移 mov al,0 ;字符串相等,设置00h jmp output ;转向output unmatch: mov al,0ffh ;设置ffh output: mov result,al ;输出结果标记 重复比较的解释 指令repz cmpsb结束重复执行的情况 ① ZF=0,即出现不相等的字符 ② CX=0,即比较完所有字符: 这种情况下,如果ZF=0,说明最后一个字符不等;而ZF=1表示所有字符比较后都相等,也就是两个字符串相同 所以,重复比较结束后,jnz unmatch指令的条件成立ZF=0,表示字符串不相等 查找字符串 mov di,offset string mov al,20h mov cx,count cld repnz scasb ;搜索 jz found ;为0(ZF=1),发现空格 ... ;不含空格,则继续执行 found: ... 教学要求 熟悉串操作寻址特点 掌握基本指令:AND/OR/XOR/NOT/TEST、SHL/SHR/SAR、ROL/ROR/RCL/RCR、MOVS/LODS/STOS、REP 熟悉特色指令:CMPS/SCAS 了解不常使用的指令:REPZ/REPNZ 串传送 MOVSB (正向 DF=0 ) 串传送 MOVSW (反向 DF=1 ) REP MOVSB (正向 DF=0 ) SHL和SAL指令的功能 SHR指令的功能 SAR指令的功能 ROL指令的功能 ROR指令的功能 RCL指令的功能 RCR指令的功能 * 第3章:3.5.2 移位指令 将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作 移位指令的第一个操作数是指定的被移位的操作数,可以是寄存器或存储单元;后一个操作数表示移位位数: 该操作数为1,表示移动一位 该操作数为CL,CL寄存器值表示移位位数 (移位位数大于1只能CL表示) 移位指令对标志的影响 按照移入的位设置进位标志CF,根据移位后的结果影响SF、ZF、PF 对AF没有定义 进行一位移动,按操作数的最高符号位是否改变,设置OF,移位前后有变化,OF=1,否则OF=0。移位次数大于1,则OF不确定。 第3章:逻辑左移指令SHL SHL reg/mem,1/CL ;reg/mem左移1或CL位 ;最低位补0,最高位进入CF 演示 第3章:逻辑右移指令SHR SHR reg/mem,1/CL ;reg/mem右移1/CL位 ;最高位补0,最低位进入CF 演示 第3章:算术左移指令SAL SAL reg/mem,1/CL ;与SHL是同一条指令 演示 第3章:算术右移指令SAR SAR reg/mem,1/CL ;reg/mem右移1/CL位 ;最高位不变,最低位进入CF 演示 第3章:例3.18 数据移位 mov dx,6075h ;DX01110101B shl dx,1 ;DX11101010B ;CF=0,SF=1、ZF=0、PF=0 sar dx,1 ;DX01110101B ;CF=0,SF=1、ZF=0、PF=0 shr dx,1 ;DX00111010B ;CF=1,SF=0、ZF=0、PF=1 mov cl,4 ;CL=4,标志不变 sar dx,cl ;DX00000011B ;CF=1,SF=0、ZF=0、PF=1 第3章:例3.19 将AL寄存器中的无符号数乘以10 xor ah,ah ;实现AH=0,同时使CF=0 shl ax,1 ;AX←2×AL mov bx,ax ;BX←AX=2×AL shl ax,1 ;AX←4×AL shl ax,1 ;AX←8×AL add ax,bx ;AX←8×AL+2×AL=10×AL sub ah,ah and ah,0 逻辑左移一位相当于无符号数乘以2 逻辑右移一位相当于无符号数除以2 第3章:3.5.3 循环移位指令 循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环。分为: ROL reg/mem,1/CL ;不带进位循环左移 ROR reg/mem,1/CL ;不带进位循环右移 RCL reg/mem,1/CL ;带进位循环左移 RCR reg/mem,1/CL ;带进位循环右移 循环移位指令的操作数形式与移位指令相同,按指令功能设置进位标志CF,但不影响SF、Z

文档评论(0)

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

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

1亿VIP精品文档

相关文档