首页 > 编程语言 >[ARM汇编]计算机原理与数制基础—1.1.4 逻辑运算

[ARM汇编]计算机原理与数制基础—1.1.4 逻辑运算

时间:2023-06-14 10:24:14浏览次数:51  
标签:逻辑运算 数制 R1 寄存器 R0 ARM 运算

在计算机中,逻辑运算是对二进制数据进行操作的基础。逻辑运算主要包括以下几种:与(AND)、或(OR)、非(NOT)和异或(XOR)。接下来,我们将详细介绍这几种逻辑运算的原理及其应用。

与(AND)运算

与运算的规则如下:

  • 0 AND 0 = 0
  • 0 AND 1 = 0
  • 1 AND 0 = 0
  • 1 AND 1 = 1

两个二进制数进行与运算时,从最低位开始,对应位都为 1 时,结果为 1,否则为 0。

示例:

  1010
AND 1100
------
  1000

在 ARM 汇编中,与运算使用 AND 指令完成。例如,将寄存器 R0 和寄存器 R1 的值进行与运算,结果存储在寄存器 R2 中:

AND R2, R0, R1

或(OR)运算

或运算的规则如下:

  • 0 OR 0 = 0
  • 0 OR 1 = 1
  • 1 OR 0 = 1
  • 1 OR 1 = 1

两个二进制数进行或运算时,从最低位开始,对应位只要有一个为 1,结果为 1,否则为 0。

示例:

  1010
 OR 1100
------
  1110

在 ARM 汇编中,或运算使用 ORR 指令完成。例如,将寄存器 R0 和寄存器 R1 的值进行或运算,结果存储在寄存器 R2 中:

ORR R2, R0, R1

非(NOT)运算

非运算的规则如下:

  • NOT 0 = 1
  • NOT 1 = 0

对一个二进制数进行非运算时,只需将其每一位取反(0 变为 1,1 变为 0)。

示例:

NOT 1010
------
    0101

在 ARM 汇编中,非运算使用 MVN 指令完成。例如,将寄存器 R0 的值进行非运算,结果存储在寄存器 R1 中:

MVN R1, R0

异或(XOR)运算

异或运算的规则如下:

  • 0 XOR 0 = 0
  • 0 XOR 1 = 1
  • 1 XOR 0 = 1
  • 1 XOR 1 = 0

两个二进制数进行异或运算时,从最低位开始,对应位相同为 0,不同为 1。

示例:

  1010
XOR 1100
------
  0110

在 ARM 汇编中,异或运算使用 EOR 指令完成。例如,将寄存器 R0 和寄存器 R1 的值进行异或运算,结果存储在寄存器 R2 中:

EOR R2, R0, R1

通过掌握逻辑运算的原理及其在 ARM 汇编中的应用,我们能够更好地理解计算机中基本的数据操作。在后续学习 ARM 汇编的过程中,逻辑运算指令将会被频繁地使用,因此熟练掌握逻辑运算的原理和相关指令至关重要。
推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

file

标签:逻辑运算,数制,R1,寄存器,R0,ARM,运算
From: https://www.cnblogs.com/yaoqian/p/17479402.html

相关文章

  • Pycharm基本使用
    目录Pycharm快捷键运行环境:解释器+第三方包python虚拟环境:【零基础】PyCharm基本功能入门详解_哔哩哔哩_bilibiliPycharm快捷键快捷键作用Ctrl+/单行注释Ctrl+d复制一行Ctrl+y删除一行Tab代码向后缩进Shift+Tab代码向前取消缩进Shift+Enter格式......
  • pycharm配置环境遇到的报错
    今天配置pycharm遇到一些报错,包括:1、ModuleNotFoundError:Nomodulenamed‘pandas.core.internals.managers‘;2、安装好pandas后在cmd查看发现numpy和pandas的版本不匹配3、报错Nomodulenamed'tensorflow'解决1:pandas版本不够卸载后尝试再次安装pandas,但是直接pipins......
  • Linux hwrng以及ARM TRNG记录
    关键词:hwrng,/dev/random,/dev/urandom,rngd,rngtest等。  Linuxhwrng驱动比较简单,hwrngcore注册设备提供应用层设备。hwrnddriver提供具体硬件接口,然后注册到hwrngcore中,以及往内核熵池提供随机数。1.Linuxhwrng框架1.1hwrng框架对外接口 hwrng对外提供的API接口包括......
  • PyCharm 安装教程
    1.下载进入PyCharm官方下载地址:https://www.jetbrains.com/pycharm/download/下载社区版本(日常学习使用够用了),专业版是收费的哦(功能更强大) 2.安装PyCharm(1)双击打开pycharm-community-2023.1.2.exe(2)点击Next (3)选择安装路径(尽量不要选择带中文和空格的目录)选择好路径后,点......
  • [ARM汇编]计算机原理与数制基础—1.1.2 二进制与十进制数制转换
    在计算机中,我们通常使用二进制数制来表示数据,因为计算机的基本电平只有两种状态:高电平(通常表示为1)和低电平(通常表示为0)。而在我们的日常生活中,我们习惯使用十进制数制。为了方便理解,我们需要掌握二进制与十进制之间的转换方法。二进制转十进制将二进制数转换为十进制数时,我们......
  • pycharm打包python项目为exe执行文件
    1.先把所有需要用到的,引用的文件放在同一个文件夹(新建)下面,修改主要2.生成.spec文件,根据这个文件来生成exe可执行文件。生成.spec的命令如下:pyi-makespecXXX.py命令,这里XXX.py为主程序文件,该命令会生成一个XXX.spec文件;如果需要使用ico,则可以使用pyi-makespecXXX.py-imyicon......
  • Pycharm配置远程调试
    原文链接在搞深度学习的时候,我们在本地开发,但是需要在服务器去运行工程,所以需要使用Pycharm进行远程配置,可以实现本地代码自动同步到服务器,并在本地使用服务器的解释器。条件:需要使用专业版Pycharm。远程部署点击菜单栏Tools——Deployment——Configuration点“+”,新建一个......
  • Pycharm配置远程调试
    原文链接在搞深度学习的时候,我们在本地开发,但是需要在服务器去运行工程,所以需要使用Pycharm进行远程配置,可以实现本地代码自动同步到服务器,并在本地使用服务器的解释器。条件:需要使用专业版Pycharm。远程部署点击菜单栏Tools——Deployment——Configuration点“+”,新建一个S......
  • 开源共建下一代智能终端操作系统根社区 OpenHarmony携手伙伴聚力前行
    6月12日,2023开放原子全球开源峰会OpenHarmony分论坛(以下简称“分论坛”)在北京成功召开。OpenHarmony共建单位、生态伙伴齐聚一堂,共同展现了OpenHarmony在千行百业的落地成果、繁荣生态与最新技术进展。OpenHarmony项目群工作委员会委员、华为终端BG软件部副总裁柳晓见受邀出席......
  • Codeforces Round #291 (Div. 2)-D. R2D2 and Droid Army(RMQ)
    原题链接D.R2D2andDroidArmytimelimitpertestmemorylimitpertestinputoutputAnarmyof n droidsislinedupinonerow.Eachdroidisdescribedby m integers a......