第11章80x86编语言程序设计.ppt

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

11.2 80x86的指令系统 数据传送指令 算术运算指令 逻辑运算与移位指令 串操作指令 控制转移指令 处理器控制指令 11.2.1数据传送指令 通用数据传送指令 地址传送指令 标志寄存器传送指令 输入输出指令 类型转换指令 11.2.3 逻辑运算指令 逻辑非指令 NOT 逻辑与指令 AND 逻辑或指令 OR 逻辑异或指令 XOR 测试指令 TEST 11.2.6 控制转移指令 无条件转移指令 JMP 条件转移指令 条件设置指令 循环指令 LOOP LOOPZ LOOPNZ 子程序调用(返回)指令 CALL RET 中断指令 INT 综合应用例2 分析下列指令序列的功能 MOV CL, 4 SHL DX,CL MOV BL, AH DX AX SHL AX, CL SHR BL, CL OR DL, BL BL 4 4 4 结论: DX.AX双字左移4位 关于移位指令的几点说明: SHL与SHR均会影响OF、PF、SF、ZF、CF 如果SAL将DST的最高位移到CF,改变了CF的值,则OF=1。 循环移位指令操作结果只对CF和OF有影响,CF由移入CF的内容决定,OF取决于移位一次后符号位是否改变,如改变,则OF=1。 串——存储器中一序列字或字节单元, 单元中的内容是字符或数据 串操作——对序列字或字节单元中的 内容进行某种操作 串操作指令有7条: 1、MOVS——串传送指令 2、CMPS——串比较指令 3、SCAS——串扫描指令 4、LODS——装入串指令 5、STOS——存储串指令 6、INS——串输入 7、OUTS——串输出 11.2.5 串操作指令 与此配合使用的指令前缀有: REP 重复 REPE/REPZ 相等/为零则重复 REPNE/REPNZ 不相等/不为零则重复 说明: 每条指令有三种形式,分别对应于字节操作、 字操作和双字操作 如 MOVSB 字节操作 MOVSW 字操作 MOVSD 双字操作 例:将字节串从源区传送到目的区 源区首偏址--SI 目的区首偏址--DI,串长--CX CX=0 按DI所指存此字节 按SI所指取一字节 (SI)+1--SI (DI)+1--DI (CX)-1--CX 结束 Y N 用一般传送指令实现 的流程图 源区首偏址--SI 目的区首偏址--DI 串长--CX,0--DF CX=0 串传送指令 (CX)-1--CX 结束 源区首偏址--SI 目的区首偏址--DI 串长--CX,0--DF 带前缀REP的 串传送指令 Y N 用串传送指令实现 的流程图 用带前缀的串传送指令实现的流程图 使用串操作指令时微处理器设计有若干约定: 1、源串地址由DS:SI指定 目的串地址在ES:DI中 2、串长送CX寄存器 3、设置方向标志位DF(在EFLAG寄存器中) 当DF=0(指令CLD)时为增量修改 (+1 或 +2 或 +4) 当DF=1(指令STD)时为减量修改 (-1 或 –2 或 -4) 方向标志对应的指针移动示意 低地址方向 ‘A’ ... 源串 ‘A’ ‘J’ … 高地址方向 目的串 源串 目的串 1 n n ... 正向传送 反向传送 DF=0 DF=1 1 ‘J’ … 符号 功能 操作

文档评论(0)

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

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

1亿VIP精品文档

相关文档