第2章微处理器与指令系统n.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章微处理器与指令系统n

2-* 使用说明: 移位指令的源操作数采用立即数寻址时,8086指令只能为1,80386/486以上则为8位,实际使用低5位。 移位指令常用于二进制数的倍乘和倍除,即算术/逻辑移n位,相当于把二进制数乘以或除以2n。 要注意算术右移(SAR)与逻辑右移(SHR)的区别:前者在符号位和数值位依次右移的同时,用符号位充填符号位,而后者用0充填符号位。所以,有符号和无符号数倍乘用SHL/SAL均可,但倍除时,有符号数用SAR和无符号数用SHR。 移位指令也常用于循环控制,如逻辑尺控制循环。 4.4.6 逻辑运算与移位指令 2-* 例2.17 试编写用移位和加法指令完成计算: (EAX)×9/4 的程序段。 解: (EAX)×9/4=[(EAX)×8+(EAX)]/4 MOV EBX,EAX ;保存EAX SAL/SHL EAX,3 ;(EAX)×8→EAX ADD EAX,EBX ;(EAX)×8+(EAX)→EAX SAR/SHR EAX,2 ;(EAX)×9/4→EAX 4.4.6 逻辑运算与移位指令 2-* 2.4.7 串操作类指令 串传送指令 MOVSB/MOVSW/MOVSD 串装入指令 LODSB/LODSW/LODSD 串存储指令 STOSB/STOSW/STOSD 串比较指令 CMPSB/CMPSW/CMPSD 串扫描指令 SCASB/SCASW/SCASD 串输入指令 INSB/INSW/INSD 串输出指令 OUTSB/OUTSW/OUTSD 串操作指令是指用于对存储器中字节串、字串和双字串进行操作的指令,包括: 2-* 串操作约定: ● 用DS:(E)SI寻址源串,允许段超越; ● 用ES:(E)DI寻址目的串,但ES段不能超越; ● 由DF标志位决定(E)SI,(E)DI 指针增减: DF=0,递增;DF=1,递减; ● 由串长度决定指针增/减量大小; ● 带重复前缀时,用(E)CX作重复计数器。 2.4.7 串操作类指令 2-* 1. 串传送指令 格式: MOVSB/MOVSW/MOVSD MOVS 目的串,源串 MEM, MEM 操作: 将DS:[(E)SI]所指的源串中的一个字节、字或双字传送到ES:[(E)DI]指的目的串中,然后,按DF指示和操作数长度修改(E)SI,(E)DI指针,即: [ES:(E)DI]←([DS:(E)SI]) (E)SI←((E)SI)±1/2/4 ;修改源指针 (E)DI←((E)DI)±1/2/4 ;修改目的指针 2.4.7 串操作类指令 2-* 说明: 应用:用于数据块传送 该指令允许加重复前缀REP。即: REP MOVSB/MOVSW/MOVSD 此时,由(E)CX控制串传送指令MOVS的执行次数。相当于指令序列: AGAIN:MOVSB/MOVSW/MOVSD LOOP AGAIN 2.4.7 串操作类指令 2-* 例2.18 编写将数据段中自AREA1开始的100个字数据搬到附加段中以AREA2开始的数据区中的程序段。 解:① 用MOV指令 LEA SI, AREA1 LEA DI, AREA2 MOV CX, 100 DONE: MOV AX,[SI] MOV ES:[DI],AX ADD SI,2 ADD DI,2 LOOP DONE 2.4.7 串操作类指令 2-* ② 用基本串传送指令 LEA SI, AREA1 LEA DI, AREA2 MOV CX, 100 CLD DONE: MOVSW LOOP DONE ③ 用重复串传送指令 LEA SI, AREA1 LEA DI, AREA2 MOV CX, 100 CLD REP MOVSW 2.4.7 串操作类指令 2-* 格式: LODSB/LODSW/LODSD LODS 源串 MEM 说明: 允许加重复前缀REP。 操作: ([DS:(E)SI])→AL/AX/EAX 按DF指示和操作数长度修改(E)SI指针 应用:用于取数据块中元素值 2.串装入指令 2.4.7 串操作类指令 2-* 3.串存储器指令 格式: STOSB/S

文档评论(0)

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

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

1亿VIP精品文档

相关文档