当前位置: 首页 > article >正文

ARM base instruction -- movn

Move wide with NOT moves the inverse of an optionally-shifted 16-bit immediate value to a register.

使用NOT将可选移位的16位即时值的倒数移动到寄存器。
即把立即数移动寄存器前先把寄存器清零,并反转16位立即数移到目标寄存器。
反转操作是对立即数按位取反操作。


32-bit variant
    MOVN <Wd>, #<imm>{, LSL #<shift>}

64-bit variant
    MOVN <Xd>, #<imm>{, LSL #<shift>}

<imm> 
For the 32-bit variant: is a 32-bit immediate, the bitwise inverse of which can be encoded in 
"imm16:hw", but excluding 0xffff0000 and 0x0000ffff.
For the 64-bit variant: is a 64-bit immediate, the bitwise inverse of which can be encoded in 
"imm16:hw".


Operation
    bits(datasize) result;   
    result = Zeros(); 
    result<pos+15:pos> = imm16; 
    result = NOT(result); 
    X[d] = result;

从C语言理解这个NOT:

NOT是一个逻辑运算符,用于对一个布尔值进行取反操作。它的作用是将一个为真的条件转换为假,或将一个为假的条件转换为真。

除了逻辑非运算符(!),C语言还提供了其他一些位运算符,如按位取反运算符(~),用于对一个整数进行按位取反操作,按位取反运算符将每个二进制位上的0变为1,将每个二进制位上的1变为0。

此处Operation中的NOT为取反运算符(~)。


http://www.kler.cn/news/342820.html

相关文章:

  • 基于SSM框架和Layui的学院课程安排系统的设计与实现(源码+定制+定制)
  • 【git】如何生成SSH key用于无需账号登录git仓库推送(需要令牌的问题)
  • JAVA的ArrayList 和 LinkedList的区别
  • 基于Python的摄影平台交流系统
  • MATLAB与R语言在建模中的合作与应用(上篇)
  • 跨境网络专线SD-WAN:跨境电商网络问题的解决方案
  • 编程的魅力
  • C#中,虚方法(virtual) 和 抽象方法(abstract)的应用说明
  • QT知识点
  • tp8自带的文件缓存如何配置
  • 计算机专业有哪些必修课程推荐?
  • Android SELinux——安全策略(三)
  • “element-plus“: “~2.6.1“和“element-plus“: “^2.6.1“在xue项目package.json配置的主要区别
  • LINUX 系统管理操作
  • C语言_内存函数
  • 【Zookeeper】Windows下安装Zookeeper(图文记录详细步骤,手把手包安装成功)
  • 前端模块化进化史:从全局 function 到 ES Modules
  • Java微信支付接入(4) - API V3 API字典和相关工具
  • Spring Boot洗衣店订单系统:提高工作效率
  • 新电脑 Windows 系统初始配置