CPU寄存器是处理器使用的小型快速存储器,用于保存正在使用的数据。
我对装配非常陌生,我正在尝试致电: /bin/bash -c“回显你好;ls -la” 我将“/bin/bash”命令存储为字符串,并将其地址存储在 RBX 和 RDI 中。 RAX 为 59
记住 x86-64 System V arg 寄存器顺序的最佳方法是什么?
我经常忘记系统调用中每个参数需要使用的寄存器,每次我忘记时我都会访问这个问题。 整数/指针参数到 x86_64 用户空间函数的正确顺序...
如何在 Logisim 中实现溢出标志而无需访问倒数第二个进位?
在 ALU 的图片中,我已经实现了计算零、负和进位标志的逻辑。但我无法弄清楚如何在不使用倒数第二个进位的情况下实现溢出标志(汽车...
我修改了arm的硬件(在gem5上)添加了两个寄存器。我希望它们是进程独立的,每个进程都有自己对应的值存储在这些寄存器中,就像ttbr0一样。 我会...
了解字节顺序和寄存器分配:Little Endian 与 Big Endian
我一直在学习大端和小端架构,发现我的电脑以小端运行。使用一个简单的程序,我将值 0xA000 加载到 ax 寄存器中并观察到...
我试图理解 x86 汇编语言中 mov 和 lea 指令之间的差异。我写了一个简单的汇编代码片段,并添加了注释来解释我的理解......
CMP ESI,-20。这部分代码对我来说毫无意义。这个魔法是如何运作的? [重复]
76EB750D 83FE E0 CMP ESI,-20 76EB7510 0F87 AD000000 JA msvcrt.76EB75C3 我根本不明白这部分代码。 为什么双字 ESI 与字节相比?! 如果 ESI 等于 FFFFFFF0 t...
我正在研究在stm32f103rb中实现的操作系统。我到了02-ContextSwitch-1章节,发现程序崩溃并抛出这个错误。 qemu:致命:尝试在 RAM 之外执行代码...
我使用NUCLEO-F042K6板来生成PWM信号。我使用 Timer2 来达到这个目的。 Timer2 有 4 个通道,但根据 STM32F042x4 数据表,CH1 无法重定向到物理引脚。 [ 我还是……
我有一个代码: [组织0x7c00] CODE_SEG 等于 GDT_code - GDT_start DATA_SEG 等于 GDT_data - GDT_start 命令行 lgdt [GDT_描述符] 移动eax,cr0 或 eax, 1 mov cr0, eax jmp CODE_SEG:start_protected_mode jm...
我试图通过在包含十六进制数的寄存器上使用库“check.h”来进行单元测试,以检查返回值是否正确。这些寄存器用于编程
在AArch64/ARM64中进行整数运算时,使用32位W{n}寄存器与64位X{n}寄存器有性能差异吗? 例如,添加 W1、W2、W3 是否比添加 X1、...
因为括号中的[si]就像地址si处的值,就像C中的*si一样 因为偏移量 si 就像 &si ptr 怎么样 mov 双字 ptr [si], ax ?
汇编语言中的register1:register2是什么意思?
汇编语言中的register1:register2是什么意思。 例如ax:bx,那么这条指令将使用哪种类型的地址。 显然这涉及到两个寄存器 AX 和 BX
我正在尝试调试我为 UART 编写的驱动程序,该驱动程序从串行控制台读取字符串,直到用户按“l”。下面该函数称为“getstring()”。 我想检查一下...
AVR 中的无效寄存器将立即数加载到低寄存器而不是高寄存器?
我正在尝试编写一个汇编程序来添加两个数字(使用ATmega328P)。该任务需要将 r5 中的值(特别是 0x88)添加到内存位置 0x0260 中的值并存储...
我正在尝试编写一个汇编程序来添加两个数字(使用ATmega328P)。该任务需要将 r5 中的值(特别是 0x88)添加到内存位置 0x0260 中的值并存储...
我正在使用 PowerPC 的 Diab C 编译器 (v5.9.4),我需要将通用寄存器的内容复制到函数的局部变量中。 有没有关于如何读取 GPR 的示例...
假设我编译了一个处理大约 1000 个变量的程序。 CPU中的寄存器数量远远少于这个。编译后的代码如何跟踪所有这些变量...
考虑在伪汇编中经过昂贵的计算后寄存器的经典重用: r2 = cos(r1) *(r3) = r2 r2 = r5 + r6 *(r4) = r2 为了能够充分使用算术单位,