instructions相关内容

内存和寄存器之间的区别

我看到了汇编代码, MOV [EAX],EBX 以上一行,它们被提及为 [EAX] 是内存,而 EBX 是Register.因此,这是 [EAX] 和 EBX 之间的区别.以上说明会发生什么. 解决方案 在这种语法中,寄存器周围的括号表示使用内存位置(根据指令,作为源或目的地),并在寄存器中指定了起始地址(您的情况下EAX).例如,如果EAX在指令之前包含1344,则将EBX中 ..
发布时间:2021-04-24 21:09:30 其他开发

CALL指令是否总是将EIP指向的地址压入堆栈?

在x86体系结构中的函数调用期间,是否存在返回地址没有被压入堆栈的情况? 解决方案 否.根据定义, CALL 将把返回地址压入堆栈,然后再跳转到目标地址.该返回地址为 EIP (或 RIP )+ sizeof(调用指令)(通常为5个字节). 远程调用-“对位于与当前代码段不同的段中的过程的调用",其中CS,EIP被压入堆栈. 另一种方法是不发送回信地址,而是一种 JMP . ..
发布时间:2021-04-21 19:02:23 其他开发

ARM程序集不能同时使用立即值和ADDS/ADCS

我目前正在尝试使用汇编来加快Cortex-M0(Freescale KL25Z)上的某些C函数的速度.我对这个最小的测试程序有疑问: @.syntax统一.cpu皮质-m0.文本.global测试.code 16测试:mov r0,#0加r0,r0,#1bx lr 当我尝试将.s文件汇编为.o文件时,出现此错误 $ arm-none-eabi-as test.s -o test.ote ..
发布时间:2021-04-09 19:25:34 其他开发

指令大小是什么意思?

我真的很困惑,可能听起来有些愚蠢,但是我真的不确定当我们说指令大小为32位或指令为16位时是什么意思. 如果opreand的大小是32位,那么就说它是32位指令,如果操作数是16位的指令. 或者每条指令都有操作码,如果操作码地址是32位,那么我们说指令是32位. 我还将经历ARM架构,在该架构中,我读取的所有Thumb指令均为16位,而ARM模式指令为32位. 指令大小完全 ..
发布时间:2021-04-09 19:25:04 其他开发

为什么可执行文件可以同时在Intel和AMD处理器上运行?

可执行文件如何在AMD和Intel系统上都能工作. AMD和Intel的指令集是否有所不同?可执行文件如何在两者上工作?他们如何精确地编译文件以使其工作.操作系统在这一切中的作用到底是什么? 解决方案 这些天来,基本上是针对OS而不是针对硬件进行编译,因为大多数硬件具有x86或x64机器,如上所述,具有通用协议和/或技术.代码/操作码/指令集,某些程序员确实制作了旨在在某些硬件上更好运行的 ..

Verilog多维reg错误

此语句: reg [7:0] register_file [3:0] = 0; 产生此错误: 错误(10673):simpleprocessor.v处出现SystemVerilog错误。v(27):对解压缩数组的赋值必须是聚合表达式 首先,我使用的是Verilog,而不是SystemVerilog,为什么会给我一个SystemVerilog错误? ..
发布时间:2020-10-11 00:25:05 其他开发

8086微处理器的指令队列中可以存储多少条指令?

我认为,由于英特尔微处理器的内存是按字节组织的,而指令队列的大小是4个字节,答案将是4条指令? 解决方案 8086和8088芯片具有预取队列。这些存储了从指令指针(和代码段)“向前”的内存中预取的多个字节。这样,处理器就可以在空闲的总线周期中做一些“有用的事情”。 8088预取队列的深度为四个字节。 8086队列的深度为6个字节。 同样,这些不对应于一定数量的指令,而是一定数量 ..
发布时间:2020-10-11 00:18:12 其他开发

跟踪CPU指令重新排序

我研究了一些有关处理器进行指令重排序和Tomasulo算法的事情。 为了更深入地理解这一主题,我想知道是否存在有什么方法(获取跟踪信息)来查看给定程序的实际动态重新排序? 我想提供一个输入程序并查看“乱序指令”执行跟踪”。 我可以使用IBM-P7机器和Intel Core2Duo笔记本电脑。还请告诉我是否有一种简单的选择。 解决方案 您无权访问CPU内部进行的实际重新排序 ..
发布时间:2020-10-10 23:36:52 其他开发

现代cpus是否将乘法跳过零?

我想知道当前cpus是否避免在两个数字中至少有一个为零的情况下将它们相乘。谢谢 解决方案 具体取决于CPU和(在某些情况下)操作数的类型。 p> 较旧/较简单的CPU通常使用以下乘法算法: 整数运算符*(整数const& other){ unsigned temp1 = other.value; unsigned temp2 =值; 无符号答案= 0; 而(tem ..
发布时间:2020-10-10 23:28:34 其他开发

如何在运行时生成和执行机器代码?

与组装最接近的是构建自己的Java类库,该库加载类文件,并允许您创建,编译和反编译类。在致力于该项目的同时,我想知道Java虚拟机如何在JIT优化过程中在运行时实际生成本机代码。 让我思考:如何生成机器代码并 解决方案 您的问题发生了重大变化(2017年7月)。初始变体指的是 EX(执行)指令 一个人如何生成机器代码并在运行时通过汇编将其执行...? 在实践中,您将使用一 ..

为什么“ a”是对象引用的Java字节码前缀?

特定于类型的Java字节码指令具有单字符前缀以指定该指令所涉及的类型。 来自 Wikipedia在Java字节码上的条目 在每种情况下,前缀选择都是有意义的,由类型的第一个字母组成(布尔值除外,布尔值没有指令前缀)。但是,对象引用前缀似乎不合逻辑,因为它们同时显示为 o 和 r (两个第一字母) ) 免费的。相反,对象引用指令使用 a 作为其前缀。 为什么对象引用字节码指令的前缀 ..
发布时间:2020-09-25 07:26:26 Java开发

哪些算术运算对无符号和二进制补码数字是相同的?

我正在设计一个简单的玩具指令集和随附的仿真器,并且试图找出要支持的指令.以算术的方式,我目前有无符号的加,减,乘和除.但是,对于以下问题,我似乎找不到一个明确的答案:哪些算术运算符需要带符号的版本,哪些无符号和二进制补码的版本等效? 因此,例如,二进制补码中的1111等于-1.如果向其添加1并假装它是一个无符号数字,则会得到0000,即使将其视为-1也是正确的.但是,这是否适用于所有数字?那 ..
发布时间:2020-09-20 21:20:10 其他开发

是否有任何此类处理器具有绕过缓存的指令?

是否有任何这样的处理器,它们有指令绕过特定数据的缓存? 这个问题也有一个答案,表明SSE4.2指令确实绕过了缓存.有人可以启发我吗? 解决方案 通常,缓存策略由内存管理单元(MMU)控制.对于每个地址范围,都会确定一个缓存策略.这些表由OS管理,并且在系统空间中可用. 作为对您可能要问的问题的补充说明,对于具有高速缓存的体系结构,通常有CPU命令可用于同步/无效/刷新高速缓存.但是,与MM ..
发布时间:2020-09-13 00:30:24 其他开发

指令解码器如何在32位模式下区分EVEX前缀和BOUND操作码?

在32位模式下,英特尔通过反转寄存器扩展的高位来解决VEX前缀与LDS/LES冲突,因为ModRM字节的mod字段不能为11b VEX前缀的初始字节值C4h和C5h与LDS和LES指令的操作码相同.在64位模式下不支持这些指令.为了解决32位模式下的歧义,VEX的规范利用了一个事实,即合法的LDS或LES的ModRM字节不能采用11xxxxxx的形式(这将指定寄存器操作数). VEX前缀的第 ..
发布时间:2020-09-13 00:30:12 其他开发

ret指令会导致esp寄存器加4吗?

"ret"指令是否导致"esp"寄存器加4? 解决方案 是的,它执行 pop eip 您可以使用 mov eax, [esp] jmp eax 避免它. 编辑:这正是ret的作用.例如,jmp rel_offet就是隐藏的add eip, offset,或者jmp absolute_offset是mov eip, absolute_offset.当然,处理器处理它 ..
发布时间:2020-09-12 23:15:47 其他开发

ASCII调整和十进制调整指令如何工作?

我一直在努力理解来自x86汇编语言的ASCII调整指令. 我在互联网上看到的所有信息都在告诉我不同​​的东西,但是我猜想这就是同一件事,只是我以不同的方式解释了这一点. 谁能用 AAA , AAS 我们必须相加,从AL的低位半字节中减去6? 并且有人可以在其中解释AAM,AAD和十进制调整指令伪代码英特尔指令集手册也是如此,为什么如此,其背后的逻辑是什么? 最后,有人可以举 ..
发布时间:2020-09-12 22:25:41 其他开发

CPU如何正确解码可变长度指令?

在大多数体系结构上,指令都是固定长度的.这使得程序的加载和执行变得简单.在x86/x64上,指令的长度是可变的,因此反汇编的程序可能如下所示: File Type: EXECUTABLE IMAGE 00401000: 8B 04 24 mov eax,dword ptr [esp] 00401003: 83 C4 04 ad ..
发布时间:2020-09-12 22:23:11 其他开发