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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wpf prism 《3》 弹窗 IOC

传统的弹窗 这种耦合度高 new 窗体() . Show(); new 窗体() . ShowDialog(); 利用Prism 自动的 IOC 弹窗的 必须 必须 必须 页面控件 弹窗的 必须 必须 必须 页面控件 弹窗的 必须 必须 必须 页面控件 弹窗的 必须 必须 必须 页面控件 弹窗的 必须 必须 必须 页面控件 》》否…

【C语言】十六进制、二进制、字节、位、指针、数组

【C语言】十六进制、二进制、字节、位 文章目录 [TOC](文章目录) 前言一、十六进制、二进制、字节、位二、变量、指针、指针变量三、数组与指针四、指针自加运算五、二维数组与指针六、指向指针的指针七、指针变量作为函数形参八、函数指针九、函数指针数组十、参考文献总结 前…

系统功能性能优化:从问题定位到解决方案的系统性分析

引言 在现代软件系统中,性能优化是确保系统稳定、响应迅速和资源高效利用的关键。面对复杂的系统架构和业务逻辑,进行性能优化往往需要遵循一系列系统性的步骤,以确保问题被准确识别,解决方案被有效实施。以下是一套专业的系统功…

【Tools】什么是MapReduce

我们从不正视那个问题 那一些是非题 总让人伤透脑筋 我会期待 爱盛开那一个黎明 一定会有美丽的爱情 🎵 范玮琪《是非题》 MapReduce是一种用于处理和生成大规模数据集的编程模型和算法,它由Google公司提出并广泛应用于分布式计算领…

(四)Kafka离线安装 - Kafka下载及安装

Kafka官方下载地址:Apache Kafka 这时候下载安装版本。 我这里的安装目录在 /usr/local/ cd /usr/local/# 创建目录 mkdir kafka cd kafka mkdir kafka_log 把下载的压缩包,放入到/usr/local/kafka/目录下,解压。 # 解压 tar -zxvf kafka…

前端踩坑记录:javaScript复制对象和数组,不能简单地使用赋值运算

问题 如图,编辑table中某行的信息,发现在编辑框中修改名称的时候,表格中的信息同步更新。。。 检查原因 编辑页面打开时,需要读取选中行的信息,并在页面中回显。代码中直接将当前行的数据对象赋值给编辑框中的表单对…

Qt QtConCurrent 使用示例

简介 QtConcurrent 是 Qt 框架中的一个模块,它提供了一种高级别的 API 来编写多线程程序,而无需直接使用线程、互斥锁或信号量等低级同步原语。QtConcurrent 允许你以声明性的方式启动任务,这些任务将在单独的线程中异步执行,同时…

[从0开始AIGC][LLM]:LLM中Encoder-Only or Decoder-Only?为什么主流LLM是Decoder-Only?

LLM中Encoder-Only or Decoder-Only & 为什么主流LLM是Decoder-Only? 文章目录 LLM中Encoder-Only or Decoder-Only & 为什么主流LLM是Decoder-Only?1. 什么是Encoder-only、Decoder-Only2. 为什么当前主流的LLM都是Decoder-only的架构低秩问题 …

mac电脑登录循环重启问题

问题是:mac电脑在输入密码后,黑屏重启,如此循环。 1、进入安全模式:先关机,按shift一直不松手 ,再按开机键一下,进入启动状态,到进入到安全模式。 2、输入用户密码,成功…

浅谈C# 虚函数和重写

一、基本介绍 虚函数(Virtual Function)和重写(Override)是面向对象编程中多态性的重要概念。它们允许子类改变继承自父类的行为。 虚函数 虚函数是可以在派生类中被重写的函数。在基类中声明虚函数时,使用关键字 vir…

秋招/春招投递公司记录表格

最近在准备秋招,在各个平台投递秋招简历,什么官网,邮箱,boss,应届生各个平台上,投递的平台比较多,比较乱,因此自己想将这些平台投递记录都收集到一个表格上,所以在腾讯文…

切片上传记录

核心就是 1 前端分片 2 后端组装 3 md5校验 Spark-md5介绍 用md5就是为了防止文件被篡改,小的文件直接可以用整个文件传入,返回文件md5,但是越大的文件(超过2G),如果用整文件的方式,时间会很久,分片计…

bladeX默认审批流flowable如何设置

下面就是流程图必须得写 ${taskUser} 你要配什么 就给审批流的service传什么

VSCode必备插件!快看过来!

同学同学,你是不是也很头疼VSCode不知道安装什么插件啊?尤其是萌新小白,更是一头雾水,那就快来一起看看吧~我帮你整理了一些非常实用的插件,安装上它们,你的开发体验会大大提升! 1. Chinese (S…

Python变量未赋值错误之程序优化示例

UnboundLocalError: local variable ‘respon1’ referenced before assignment V1: def main(): time1=2024-08-01 08:00:00 # 开始 08:00:00time2=2024-09-01 07:59:59 # 结束 07:59:00begintime=str_data_to_num(time1)endtime=str_data_to_num(time2)ss=get_grafana_l…

Call openai-node in the backend or call https in the frontend?

题意:在后端调用 openai-node 还是在前端调用 https? 问题背景: I have a web application by ReactJS and Nodejs. This application calls OpenAI APIs. 我有一个使用 ReactJS 和 Node.js 开发的 Web 应用程序。这个应用程序调用 OpenAI …

零基础入门转录组数据分析——预后模型之lasso模型

零基础入门转录组数据分析——预后模型之lasso模型 目录 零基础入门转录组数据分析——预后模型之lasso模型1. 预后模型和lasso模型基础知识2. lasso预后模型(Rstudio)——代码实操2. 1 数据处理2. 2 构建lasso预后模型2. 3 提取Lasso预后基因2. 4 计算风…

数据库性能测试2:内存数据库

继上一篇 数据库性能测试:Mysql、Sqlite、Duckdb 之后,做了一下内存数据库的性能测试,这里主要比较的是 Sqlite、Duckdb以及我这边使用容器实现的一个简单内存数据库,因为Sqlite和Duckdb都支持内存数据库模式,于是打算…

Pyqt5高级技巧:多线程任务、窗体交互、常用控件介绍(含基础Demo)

目录 一、多线程任务和多窗体交互 二、增删改查Demo 三、UI设计 【css效果代码对照表】 【实现效果】 【实现代码】 【常见问题】 Q1:工具栏怎么加,资源图片怎么加 Q2:控件被背景染色怎么办? Q3:QTdesigner有…

LVS的加权轮询算法

http://kb.linuxvirtualserver.org/wiki/Weighted_Round-Robin_Scheduling 加权轮循调度是为了更好地处理不同处理能力的服务器。每个服务器都可以被分配一个权重,一个表示处理能力的整数值。权值较高的服务器比权值较低的服务器首先接收到新连接,权值较…