3.6 逻辑运算

在这里插入图片描述

🎓 微机原理考点专栏(通篇免费)

欢迎来到我的微机原理专栏!我将帮助你在最短时间内掌握微机原理的核心内容,为你的考研或期末考试保驾护航。

为什么选择我的视频?

  • 全程考点讲解:每一节视频都紧扣考试要点,拒绝冗余,专注于最关键的知识点。
  • 系统且高效:我已经为你精心准备了系统的学习资料,让你不再迷茫。

🔗 点击这里观看我的视频讲解 🔗

我需要你的支持

我为这套视频投入了大量精力,希望它能对你的学习有所帮助。如果你觉得内容有用,请给我的视频点个赞、评论、并关注我,这将是我继续创作的最大动力!

🙏 感谢你的支持!祝你学有所成! 🙏


3.6 逻辑运算

NOT 目的按位取反
AND 目的, 源目的 与 源 → 目的
OR 目的, 源目的 或 源 → 目的
XOR 目的, 源目的 异或 源 → 目的
TEST 目的, 源目的 按位与 源,并修改标志位,但不回送结果

1. NOT 指令

功能: 按位取反,将操作数中的每一位都变成其相反的值(0变1,1变0)。
格式: NOT 目的
示例:

MOV AL, 0F0H  ; AL = 1111 0000B
NOT AL         ; AL = 0000 1111B

解释:

  • 初始值 AL = 0F0H,其二进制表示为 1111 0000
  • 执行 NOT AL 后,AL 变为 0000 1111(即 0FH)。

2. AND 指令(与操作,全是1才是1)

功能: 按位操作,将 目的 的每一位进行与操作,结果存储在 目的 中。
格式: AND 目的,源
示例:

MOV AL, 0F0H  ; AL = 1111 0000B
MOV BL, 0CCH  ; BL = 1100 1100B
AND AL, BL    ; AL = 1100 0000B

解释:

  • AL 的初始值为 0F0H1111 0000B),BL 的初始值为 0CCH1100 1100B)。
  • 执行 AND AL, BL 后,AL 变为 1100 0000B(即 C0H)。

3. OR 指令(或操作,逢1是1)

功能: 按位操作,将 目的 的每一位进行或操作,结果存储在 目的 中。
格式: OR 目的,源
示例:

MOV AL, 0F0H  ; AL = 1111 0000B
MOV BL, 0CCH  ; BL = 1100 1100B
OR AL, BL     ; AL = 1111 1100B

解释:

  • AL 的初始值为 0F0H1111 0000B),BL 的初始值为 0CCH1100 1100B)。
  • 执行 OR AL, BL 后,AL 变为 1111 1100B(即 FCH)。

4. XOR 指令(异或操作,单为1,偶为0)

功能: 按位异或操作,将 目的 的每一位进行异或操作,结果存储在 目的 中。
格式: XOR 目的,源
示例:

MOV AL, 0F0H  ; AL = 1111 0000B
MOV BL, 0CCH  ; BL = 1100 1100B
XOR AL, BL    ; AL = 0011 1100B

解释:

  • AL 的初始值为 0F0H1111 0000B),BL 的初始值为 0CCH1100 1100B)。
  • 执行 XOR AL, BL 后,AL 变为 0011 1100B(即 3CH)。

5. TEST 指令

功能: 按位与操作,将 目的每一位进行与操作并更新标志位(如零标志、进位标志),但不改变 目的
格式: TEST 目的,源
示例:

MOV AL, 0F0H  ; AL = 1111 0000B
MOV BL, 0CCH  ; BL = 1100 1100B
TEST AL, BL   ; 检查 AL 和 BL 的按位与结果

解释:

  • AL 的初始值为 0F0H1111 0000B),BL 的初始值为 0CCH1100 1100B)。
  • 执行 TEST AL, BL 后,结果是 1100 0000B(即 C0H)。
  • 标志位更新如下:
    • 零标志 (ZF): 如果结果为0,ZF 置1。否则,ZF 置0。
    • 进位标志 (CF): 根据结果和操作情况更新(通常,TEST 指令不会直接设置 CF,但会影响其他标志)。

image.png
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值