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为取反运算符(~)。

相关推荐
雪碧透心凉_1 天前
8086汇编(16位汇编)学习笔记00.DEBUG命令使用解析及范例大全
汇编
C66668884 天前
C#多线程
开发语言·汇编·c#
傻童:CPU5 天前
汇编源程序的理解
汇编
木槿715 天前
软件包git没有可安装候选
汇编·git
ok0605 天前
各种开源汇编、反汇编引擎的非专业比较
汇编·开源
roboko_5 天前
MIPS指令集(一)基本操作
汇编
Crossoads6 天前
【汇编语言】内中断(三) —— 中断探险:从do0到特殊响应的奇妙旅程
android·开发语言·javascript·网络·汇编·单片机·机器学习
染指11106 天前
49.第二阶段x86游戏实战2-鼠标点击call深追二叉树
汇编·c++·windows·游戏安全·反游戏外挂·游戏逆向
程序leo源8 天前
深入理解指针
android·c语言·开发语言·汇编·c++·青少年编程·c#
skywalk81639 天前
好玩的汇编编译器NASM:一款基于x86架构的汇编与反汇编软件
汇编