Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么X86中没有NAND、NOR和XNOR指令?
它们是您可以在计算机上执行的最简单的 指令 之一 它们是我亲自实施的第一个指令 执行 NOT AND x y 会使执行时间和依赖链长度和代码大小加倍 BMI1 引入了 andnot 这是一个有意义的补充 是一个独特的操作 为什么不是这个问题
x86
x8664
cpuarchitecture
instructions
instructionset
SIMD 和 VLIW 指令是一样的吗?
SIMD 单指令多数据 和 VLIW 超长指令字 到底有什么区别 其中一个是另一个的子集吗 或者它们是两个完全不同的东西 完全不相关且正交 一台机器可以有一个或两个 或者两者都没有 SIMD 指令可以作为扩展添加到 VLIW ISA 但 V
x86
cpuarchitecture
SIMD
instructionset
vliw
32位PPC rlwinm指令
我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
c
Assembly
reverseengineering
instructionset
powerpc
为什么 FMA _mm256_fmadd_pd() 内在函数有 3 个 asm 助记符:“vfmadd132pd”、“231”和“213”?
有人可以向我解释一下为什么融合乘法累加指令有 3 种变体 vfmadd132pd vfmadd231pd and vfmadd213pd 而只有一个 C 内在函数 mm256 fmadd pd 为了简单起见 在 AT T 语法中 有什么区别
Assembly
x86
SIMD
instructionset
fma
为什么 RISC-V S-B 和 U-J 指令类型以这种方式编码?
我正在读一本书 计算机组织与设计RISC V版 我遇到了 S B 和 U J 指令类型的编码 我上面提到的那些类型有奇怪的编码立即字段 S B 类型将直接字段分为两部分 这是有道理的 因为所有指令编码都必须相似 但我无法理解为什么立即字段以
Assembly
encoding
RISCV
machinecode
instructionset
orpd等SSE2指令有什么意义?
The orpd指令是 压缩双精度浮点值的按位逻辑或 这不是做完 全相同的事情吗por 按位逻辑或 如果是这样 拥有它还有什么意义呢 请记住 SSE1orps https www felixcloutier com x86 orps首先 实
Assembly
x86
SSE
instructionset
sse2
gcc 编译器开关 (-mavx -mavx2 -mavx512f) 到底有什么作用?
我在 C C 代码中明确使用了英特尔 SIMD 内在扩展 为了编译代码 我需要在命令行上指定 mavx mavx512 或类似的内容 我对这一切都很满意 然而 从阅读 gcc 手册页来看 并不清楚这些命令行标志是否也告诉 gcc 编译器尝试
gcc
SIMD
avx
instructionset
avx512
x86 汇编中 cmove 指令的用途?
反汇编可执行文件时我遇到了cmove操作说明 我已经在互联网上搜索过 但我只发现这是一个有条件的移动 如果源和目的地相等mov发生 我还不明白为什么我需要它 因为它不会改变操作数 它的目的是什么 The CMOVcc指令不比较源和目标 它们
Assembly
x86
cpuarchitecture
instructionset
conditionalmove
如何在汇编器中实现相对 JMP (x86)?
在为 x86 平台构建汇编程序时 我遇到了一些编码问题JMP操作说明 OPCODE INSTRUCTION SIZE EB cb JMP rel8 2 E9 cw JMP rel16 4 because of 0x66 16 bit pre
encoding
x86
instructionset
在MIPS中,为什么跳转指令可以将程序计数器设置为28位目标地址
在 MIPS 中 32 位跳转指令由 6 位操作码和 26 位我们要设置程序计数器的目标 目标 地址组成 然而 可以将程序计数器设置为 28 位目标地址 如果跳转指令只能容纳 26 位 这怎么可能呢 MIPS 上的指令始终是 4 字节对齐的
Assembly
MIPS
mips32
instructionset
MIPS 左加载字 (LWL) 和右加载字 (LWR) 指令的作用是什么?
最近我一直在研究 MIPS 指令集 当时我遇到了两个在其他指令集中没有见过的不寻常指令 我环顾四周 想找到一个关于指令到底做什么的合理解释 但我所能弄清楚的是 它们在某种程度上与未对齐的内存访问有关 例如 维基百科说 https en wi
Assembly
MIPS
memoryalignment
instructions
instructionset
零寄存器如何提高性能?
在 MIPS ISA 中 有一个零寄存器 r0 始终给出零值 这允许处理器 任何产生要被丢弃的结果的指令都可以将其目标定向到该寄存器 成为一个来源0 据说在这source https web archive org web 20170328
MIPS
cpuregisters
instructionset
程序如何执行?操作系统在哪里发挥作用?
程序从某种语言编译为 ASM gt 机器代码 直接可执行 当人们说这是平台相关时 意味着形成的二进制文件只能在具有相同指令集架构 如 x86 x86 64 的 CPU 上运行 正确 由于 ISA 的差异 它可能 错误地 可能 根本 不在其他
operatingsystem
cpuarchitecture
instructionset
platformindependence
VPERMILPS 指令 (_mm_permute_ps) 有什么意义?
AVX指令集引入了VPERMILPS 它似乎是SHUFPS的简化版本 对于两个输入寄存器相同的情况 例如 以下指令 c5 f0 c6 c1 00 vshufps xmm0 xmm1 xmm1 0x0 可以替换为 c4 e3 79 04 c1
Assembly
x86
avx
instructionset
字节码是否被视为 JVM 的指令集?
我正在读关于instruction set in wiki http en wikipedia org wiki Instruction set我看到了这一段 一些支持字节码作为 ISA 的虚拟机 例如 Smalltalk Java 虚拟机
Java
JVM
bytecode
processor
instructionset
最新的处理器不支持 SSSE3 指令? [关闭]
Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何不支持 SSSE3 指令的仍然相关的 CPU Intel AMD Atom 没有 SSSE3 的最新 CPU 是什么 没有 SS
x86
SSE
SIMD
instructionset
x86 OpCode 指令解码
我一直在研究 x86 架构的软件开发人员手册 试图提高我的逆向工程技能 我知道该架构很复杂并且向后兼容前几代 随着新一代的出现 一些旧的文档部分被遗漏了 但令人不安的解释和误解之一是与此类似的说明 80 2 ib 因此 基于以下的说明80操
Assembly
x86
reverseengineering
disassembly
instructionset
x86-64 指令集、AT&T 语法、lea 和括号的混淆
有人告诉我 lea rax rdx 是无效语法 因为源代码需要放在括号中 即 lea rax rdx 我想我显然误解了 lea 和括号的目的 我以为 lea rax rdx 会将 rax 中存储的内存地址移动到 rdx 但显然这就是 lea
Assembly
x8664
att
instructionset
如何通过 .Net 内联汇编来使用 Intel 的 RDRAND
我正在使用 Intel Ivy Bridge CPU 并且想要使用 RDRAND 操作码 https software intel com en us articles intel digital random number generat
c
Assembly
instructionset
rdrand
需要帮助向 MIPS 单周期数据路径添加更多功能
I am trying to add jal functionality to the following but I am stuck with how does it work I know that it stores the old
MIPS
instructionset
mips32
1
2
»