cpu-registers

    0热度

    1回答

    section .bss length equ 16 number: resb length 这仅适用于64个位: mov qword[number], 43271 这被表示只有8个字节(64位)的。我需要将值存储在128位内存中,但我不知道如何做到这一点。 感谢

    1热度

    2回答

    我正在写一个x86的汇编程序是需要作为参数: 在[ESP+4]:32位整数后面的数字。 从[ESP+8]开始:要加起来的32位整数列表。 它返回从[ESP+8]开始传递的所有整数的总和。所以,基本上,该函数的C语言是: int addN(int numberofitems, ...); 我有两种方式写这x86汇编程序的选项: 第一种方式(乘以项目的大小内地址位移): addN PROC

    0热度

    1回答

    为什么PC在单周期数据通路中不需要显式写入信号?为什么在多周期数据通路中需要明确的写入控制信号? 谢谢

    0热度

    1回答

    我有一个基本的问题efi mm command。 我需要控制SOC内的控制器(MAC),并让它产生到外部PHY芯片的MDIO流量,以读取其ID。 指令告诉我,做下EFI外壳下面 壳牌>mm xxxxxxx yyyyyyy -w 4 -MEM -n 壳牌>mm xxxxxxx -w 4 -MEM -n 我不知道发生了什么mm命令吗? 看起来像是写xxxxxx注册了yyyyyy的数据,然后再“mm”这

    0热度

    1回答

    你可以在寄存器中存储除存储器地址以外的任何内容吗?我试图在谷歌上找到答案,但我发现的是,你可以存储指针。这意味着你也可以存储其他的东西,但是如何存储一个64位的值,例如,如果一个寄存器只有32位长,

    1热度

    2回答

    所以我有一个有5个参数的方法。正如预期的那样,寄存器版权状态,它被称为前: $rdi: The receiver $rsi: the selector for the method $rdx: first arg $rcx: second arg $r8: third arg $r9: fourth arg $r10 fifth arg 在这个方法中,它做的第一件事是调用另一个Ob

    4热度

    2回答

    拆卸时,常常看到不考虑方向标志(DF)的状态正在使用该字符串操作指令,是这样的: or ecx, 0FFFFFFFFh xor eax, eax mov edi, ebp repne scasb CLD或STD指令没有找到,因为函数开始,既没有可能影响DF标志的其他指令。 因为程序启动后,编译器会假定这个标志的预定义状态,是否为加载程序,并在程序运行时保持不变?

    -1热度

    1回答

    mov (%rax),%eax和mov %rax,%eax有什么区别?我确信这是一个简单的问题,但我无法在任何地方找到答案。 这是促使我的问题的原代码: mov -0x8(%rbp),%rax mov (%rax),%eax lea (%rax,%rax,1),%edx mov -0x8(%rbp),%rax mov %edx,(%rax) mov -0x8(%rbp),%rax mo

    0热度

    2回答

    我想为Atmel ATMega32U4实现与Arduino的引脚号类似的东西。我看过Arduino的digitalWrite命令和相关的源文件,看看它们是如何做的,但我认为这有点复杂,所以我想实现一个更基本的版本。 这个想法是有整数1到n代表AVR芯片上的每个I/O引脚。我开始用指针数组的DDR/PORT寄存器,其中该指数将代表销地址: volatile uint8_t *pin_port_dir

    1热度

    1回答

    我知道内存中的寄存器是32位。我也明白,磅将从存储器的内容装入一个寄存器的低8位,和,如果我 lb $t1, $a3 lb $t1, 4($a3) 第二磅命令将覆盖在所述第一加载的内容。但是,是否有办法写入寄存器的第二个字节(从内存中的不同部分加载,因此不是两个字节紧挨着),并保留第一个字节的信息?