c - 如何将 32 位寄存器的内容放入字节数组?

标签 c cpu-registers

如何将 32 位 CPU 寄存器的内容放入字节数组中?

最佳答案

基本上你需要编写内联汇编来读取一些寄存器的内容。例如 - 将 ESP 寄存器读入某个 int 变量(Windows 和 Visual Studio) - 你会做这样的事情:

int stackpointer = 0;
    __asm {
        mov stackpointer, esp
    }
    printf("stack pointer: %i\n", stackpointer);

关于c - 如何将 32 位寄存器的内容放入字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8337486/

相关文章:

gdb - 如何在gdb中打印-0x4(%rbp)?

c - 我什么时候在 scanf() 中使用 "&"?

c - STM32F401 Nucleo SPI 时钟问题,使用 STM32CubeF4

assembly - 为什么 Assembly x86_64 系统调用参数不像 i386 那样按字母顺序排列

c - 如何在c中访问CPU寄存器?

assembly - 在 Linux 中哪些寄存器不受用户空间的影响?

c - 以下使用动态作用域的程序的输出

混淆两个不同字符数组的输出

c - 如何仅使用 C 编程语言用 GCC 编译 Allegro 5 程序

assembly - 哪个 x86 寄存器表示 movsb 指令中的源位置?