网站大量收购闲置独家精品文档,联系QQ:2885784924

《Lesson0微机原理及应用.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用B 第3章 8086/8088 指令系统与寻址方式 (第3讲) 3.4 8086/8088 指令系统 位操作指令包括逻辑运算指令、移位指令和循环移位指令。 (一)逻辑运算指令 逻辑运算指令包括逻辑非、逻辑与、逻辑或、逻辑异或和位测试指令。 (1) 逻辑非指令 NOT 逻辑非指令对其操作数按位求反。其一般形式为: NOT dest 这里,dest 可以是 reg 或 mem。指令对标志寄存器无影响。 (2) 逻辑与指令 AND 逻辑与指令对两个操作数中各对应位进行 “与” 运算,运算的结果存放在 dest 中。其一般形式为: AND dest,src 其中:dest 和 src 均可以是 reg 或 mem,src 还可以是 imm。该指令将标志寄存器中上述 6 个标志位除 AF 外全部清 0,而对 AF 位的影响不确定。 (3) 测试指令 TEST 该指令的一般形式为: TEST dest,src 其中:dest 和 src 均可以是 reg 或 mem,src 还可以是 imm。该指令完成的操作与AND完全相同,对 dest 中的值按 src 所指定的位进行测试,运算结果不保存。可以检查指定位的值是否为 0,若是,则将标志寄存器中的 ZF 置 1;否则置 0。 (4) 逻辑或指令 OR 逻辑或指令对两个操作数中各对应位实施 “或” 运算,运算结果保存在 dest 中。其一般形式为: OR dest,src 其中:dest 和 src 均可以是 reg 或 mem,src 还可以是 imm。该指令将标志寄存器中上述 6 个标志位除 AF 和 SF 外全部清 0,SF 位的值取决于运算后 dest 中的最高位是否为 1,而对 AF 位的影响则不确定。 (5) 逻辑异或指令 XOR 逻辑异或指令对两个操作数中各对应位实施 “异或” 运算,运算结果保存在 dest 中。其一般形式为: XOR dest,src 其中:dest 和 src 均可以是 reg 或 mem,src 还可以是 imm。该指令将标志寄存器中 的 SF 和 PF 产生影响,而对 AF 位的影响则不确定。 对一个寄存器实施清零操作是程序设计中的一种常用操作,清零方法有许多种。例如: (1) 算术左移指令 SAL 该助记符是由英文 Shift Arithmetic Left 简化而来的。其一般形式为: SAL dest,1/CL 其中:dest 可以是 reg 或 mem,而另一个操作数只能是立即数 1 或 CL。 例【3-36】 MOV AL, 0AH ;0000 1010B,10D SAL AL, 1 ;0001 0100B,14H=20D,CF = 0 (2) 逻辑左移指令 SHL 该助记符是由短语 Shift Left Logically 简化而来的。该指令的用法和功能与 SAL 指令完全相同。 例【3-39】 MOV AL, 0AH ;0000 1010B,10D SHR AL, 1 ; (4) 算术右移指令 SAR 该指令所涉及的操作数与 SAL 相同,但操作略有不同。该指令的执行过程如下图所示。 (1) 不带进位循环左移指令 ROL 该助记符是由英文 Rotate Left 简化而来的。该指令的用法与上述移位指令相同,但其操作结果则不尽相同,如下图所示。 (2)不带进位循环右移指令 ROR 该指令的操作过程如下图所示: (3)带进位循环左移指令 RCL 该指令的操作过程如下图所示: 例【3-45】把AL中的数 x 乘10。 移位指令功能示意 所谓 “串”,指的就是存放在一块连续存储单元中的一批 8 位或 16 位数据,其典型应用就是 “字符串”,也可以将串看成是高级语言中的数组。 (1) 串传送指令 MOVS? MOVS 是英文 “Move String” 的缩写,即,将源地址中的串传送到目标地址中。 其中 ? 可以为空、B 或 W,因此,它们实际上是三条指令: MOVS dest, src MOVSB MOVSW (2) 串装入指令 LODS? LODS 是英文 “Load String” 的缩写,其功能是将 DS:SI 作为首地址的串装入到 AL(8 位)或

文档评论(0)

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

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

1亿VIP精品文档

相关文档