为什么有些算术指令有带符号/无符号的变体,而有些没有

问题描述假设我们有:a=0b11111001;b=0b11110011;如果我们手写Addition和Multiplication,我们就会得到这个结果,我们不在乎它是否签名:a+b=111101100a*b=1110110001011011我知道乘法会使宽度加倍,加法可能会溢出

发布:2022-10-16 标签:cpucpu-architectureinstruction-setinteger-arithmetic


CPU中的新指令集

问题描述每一代新CPU都会引入一些新的指令集,如MMX、3DNOW、SSE等。我有几个关于它们的一般性问题:如果某些程序使用例如SSE指令,它是否可以在不支持SSE的CPU上运行?如果是,是否意味着这些指令将更改为更多更简单的指令?如果没有,这是否意味着这些新指令的真正性能影响将

发布:2022-10-16 标签:x86cpuinstruction-setsimd


MIPS向左加载字(LWL)和向右加载字(LWR)指令的作用是什么?

问题描述我最近一直在阅读MIPS指令集,突然发现了两条我在其他指令集中没有见过的不寻常的指令。我环顾四周,想找出这些指令到底有什么作用的合理解释,但我所能做的就是它们以某种方式与未对齐的内存访问相关。例如Wikipediasays:MIPSI要求所有内存访问都与其自然字边界对齐,

发布:2022-10-16 标签:assemblymemory-alignmentmipsinstruction-setinstructions


为什么ARM LSL和LSR的允许移位值范围不同?

问题描述为什么LSL[0,31]允许移位值,而LSR允许移位值是[1,32]?LSL中的0位移位对任何应用程序都有什么用处?为什么在LSR中不允许0班次?为什么LSL不允许32位移位?推荐答案此限制适用于按立即数进行的班次。按寄存器移位不受此类限制。LSL允许为0表示"不换档"。

发布:2022-10-16 标签:assemblycpu-architectureinstruction-setarm


计算机CPU中的寄存器

问题描述我只是想验证CPU本身是否支持"寄存器"名称。我是说阿格0阿格特2..。ETC在"名字"的末尾。CPU也支持名字吗?!我不是问寄存器本身,我是问CPU是否支持它可以操作的寄存器的名称?推荐答案名字是一种神奇的东西,而不是物理上的这就是重点。名字纯粹是我们人类阅读的。CPU

发布:2022-10-16 标签:cpucpu-architectureinstruction-setcpu-registers


ARM:为什么立即数只有 12 位?

问题描述这是什么意思:我只有12位用于立即常数,所以我可以只表示从0到2^12=4096的立即常数吗?操作数2如果是寄存器,可以有32位,但为什么立即数只有12位呢?这个数字是从哪里来的?whatdoesitmean:Ihaveonly12bitsforimmediatecons

发布:2022-10-16 标签:assemblycpu-architectureinstruction-setarmimmediate-operand


ARM指令集中的缩写(Rn, Rd, ...)是什么意思?

问题描述最近我检查了ARMCortex-M3处理器的指令集.例如:recentlyicheckedtheInstructionSetforanARMCortex-M3processor.Forexample:ADD<Rd>,<Rn>,<Rm>这些缩写的确切含义是什么?我猜他们的意

发布:2022-10-16 标签:assemblyinstruction-setarminstructionsthumb


itte 在臂组件

问题描述下面这行代码在arm组装中做了什么:Whatdoesthefollowinglinedoinarmassembly:000031e62916cmpr1,#22000031e8bf1aittene我得到了第一行(比较r1和22)但是第二行呢(我以前从未见过itte命令,谷歌

发布:2022-10-16 标签:assemblyembeddedinstruction-setarmthumb


将数据与 ARM 中的指令区分开来

问题描述在(32位)ARMLinux内核中,如何区分嵌入在代码段中的数据和指令?In(32-bit)ARMLinuxkernels,howtodifferentiatedataembeddedinthecodesection,frominstructions?最好有一个轻量级的方

发布:2022-10-16 标签:architecturedisassemblyinstruction-setarm


ARM指令SWI和SVC完全一样吗?

问题描述ARM程序集具有用于进入主管模式"的SWI和SVC指令.ARMassemblyhasSWIandSVCinstructionsforenteringinto'supervisormode'.让我困惑的是,为什么会有两个?这里据说SVC以前是SWI.这是否意味着他们基本上改

发布:2022-10-16 标签:assemblyembeddedinstruction-setarm