- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.2.3 逻辑运算和移位指令 逻辑运算指令 移位指令 循环移位指令 1. 逻辑运算指令 AND dst,src ;(与) OR dst,src ;(或) XOR dst,src ;(异或) TEST dst,src ;(测试) NOT dst ;(非) (1) 逻辑“与” AND 对两个操作数进行按位逻辑“与”操作。 格式:AND dst, src 用途:保留操作数的某几位,清零其他位。 例1:保留AL中低4位,高4位清0。 AND AL, 0FH 例2:AL中有字符’a’~’z’, 将其转换成大写。(‘a’=61h, ‘A’=41h) AND AL, 例:测试AL的bit7,bit5,bit2是否都是1。 AND AL, CMP AL, JZ YES ; if match, go to YES … … ; if not match … … YES: … … ; goes here if all ‘1’ (2) 逻辑“或” OR (3) 逻辑“异或” XOR (4) 测试指令TEST (5) 逻辑“非”(取反) NOT 逻辑运算指令常见的用法总结 ⑴ 清进位标志位: AND AX,AX 或 OR AL,AL等 ⑵ 清零操作数:XOR AX,AX 不仅把AX清零,而且也影响了状态标志 ⑶ 把某几位取反:用XOR指令,把要取反的位和1异或,不变的位和0异或 ⑷ 清零或置位某几位:用AND指令清零,用OR指令置位 2. 移位指令 4条移位指令: 算术左移指令SAL dst, cnt 逻辑左移指令SHL dst, cnt 算术右移指令SAR dst, cnt 逻辑右移指令SHR dst, cnt dst:通用寄存器或存储器操作数 cnt:移位次数(1或CL,CL中存放移位次数) SAR影响标志位CF、OF、PF、SF、ZF,而AF未定义,其余三条指令只影响CF和OF。 3 循环移位指令 4条循环移位指令 循环左移指令ROL 循环右移指令ROR 带进位位的循环左移指令RCL 带进位位的循环右移指令RCR 指令格式与非循环移位指令相同,四条指令都只影响CF和OF标志位,其余标志位不影响。 [例三]将位于1000H单元的2位非压缩BCD码转换成组合BCD码。 共同特点: 以SI作为源操作数的指针寄存器,默认段为DS段;以DI作为目的操作数的指针寄存器,默认段为ES段;串操作指令是唯一源操作数与目的操作数都在内存中的指令 串可以是字串或字节串 串操作数地址的修改和标志位DF有关,DF=0时,SI和DI增量变化,DF=1时减量变化;对字符串操作,SI和DI每次变量为1,字串为2 可以通过重复前缀来实现串操作 1.字符串传送指令 字符串传送指令MOVSB/MOVSW MOVSB 用于字节传送 MOVSW 用于字传送。 ① 源地址用SI寄存器指出,目的地址用DI寄存器指出 ② CX中为字节数或字数 ③ 若DF为0,则用MOVSB时,每传送一次,SI和DI自动增1;用MOVSW时,每传送一次,SI和DI自动增2。DF=1,则SI,DI变化方向? 特点: 指令前面常加重复前缀REP。 如:若想实现将DS段中1000H开始的100个字节内容顺序传送到扩展段2000H开始的单元中 MOV SI,1000H ;源地址为1000H MOV DI,2000H ;目的地址为2000H MOV CX,100 ;字符串长100个字节 CLD ;方向标志清0,使指针 ;按增量方向修改 REP MOVSB ;将源地址开始的100个 ;字节传送到目的地址 2. 字符串比较指令 字符串比较指令 CMPSB/CMPSW 功能: 把DS段由SI所指的字节或者字和ES段由DI所指的字节或者字相比较。 设置标志位 CMPSB/CMPSW指令注意点: ① 预先将: 源字符串的首址设置到DS段和SI中 目的字符串的首址设置到ES段和DI中 比较的字节数或字数设置到CX中 设置方向标志 ② 在DF为0或为1,影响SI和DI的修改方向。 ③ CMPSB/CMPSW指令通常加前缀 REPNZ/
您可能关注的文档
最近下载
- 短暂性脑缺血发作的护理.ppt VIP
- B萱草花 正谱钢琴伴奏弹唱谱.pdf VIP
- 刺绣机电脑BECS-A15操作手册-大豪科技.PDF VIP
- 2025年港澳台联考物理试题及答案.docx VIP
- 2025年金融工程专业建设规划 .pdf VIP
- FCA-FineBI试卷及答案文档.docx VIP
- 关于学校人工智能赋能教育教学高质量发展三年行动计划(2025-2027).pdf VIP
- 2024年初级中式烹调师资格理论考前必刷必练题库500题(含真题、必会题).docx VIP
- 标准图集-DJBT50-133建设工程施工现场围挡及大门-标准图集.pdf VIP
- 1.4 七色光(教学设计)科学苏教版五年级上册.pdf VIP
文档评论(0)