lm68140318 发表于 2023-11-4 06:55:05

显示寄存器的值

如图,我用VS2019运行汇编代码,如何显示寄存器的值?

isdkz 发表于 2023-11-4 06:55:12

在VS2019中,你可以使用调试器来显示寄存器的值。以下是一些步骤:

1. 在Visual Studio中打开你的汇编代码项目。
2. 在菜单栏中选择“调试”>“开始调试”>“调试Windows”>“寄存器”。
3. 这将打开一个新的窗口,显示当前正在运行的程序的寄存器值。
4. 如果你想要查看某个特定寄存器的值,可以在寄存器窗口中找到该寄存器并查看其值。

请注意,寄存器窗口只在程序运行时才会显示寄存器的值。如果你的程序尚未运行,寄存器窗口将是空的。在程序运行期间,你可以在寄存器窗口中实时查看寄存器的值,并在必要时进行调试。

希望这可以帮助你显示寄存器的值!如果你有任何其他问题,请随时提问。

Mike_python小 发表于 2023-11-4 06:57:04

在汇编语言中,要显示寄存器的值,您可以使用调试器或打印函数。我将给出两种常见的方法:

1. 使用调试器:如果您在 VS2019 中运行汇编代码时启用了调试功能,您可以通过在调试器中设置断点来查看寄存器的值。在程序执行到断点处时,您可以在调试器的“寄存器”窗口或类似的区域中查看寄存器的当前值。

2. 使用打印函数:您可以在汇编代码中插入打印函数来显示寄存器的值。具体实现取决于您所使用的汇编语言和平台。

下面是一个示例,展示如何在 x86 汇编语言中使用 printf 函数来显示寄存器的值:

assembly
section .data
    format db "%s: %x", 0

section .text
    global main

main:
    pusha            ; 保存所有寄存器的值

    mov eax, 10      ; 示例:将一个值存储在 EAX 寄存器中
    lea ebx, ; 将 format 字符串的地址存储在 EBX 寄存器中

    push ebx          ; 将 format 字符串的地址作为参数压入栈
    push eax          ; 将 EAX 寄存器的值作为参数压入栈
    call printf       ; 调用 printf 函数

    add esp, 8      ; 清除栈上的参数

    popa            ; 恢复所有寄存器的值
    ret


在上面的示例中,我们首先将要打印的字符串地址和寄存器的值分别压入栈,然后调用 printf 函数。请注意,您需要正确设置 format 字符串,以便在打印时指定寄存器的名称和格式。

请注意,具体的汇编语言和平台可能会有所不同。上述示例是针对 x86 架构的汇编代码。如果您使用的是其他架构或不同的汇编语言,请进行相应的调整。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

lm68140318 发表于 2023-11-4 06:57:53

isdkz 发表于 2023-11-4 06:55
在VS2019中,你可以使用调试器来显示寄存器的值。以下是一些步骤:

1. 在Visual Studio中打开你的汇编代 ...

我没有找到 寄存器 窗口,能否截图一下
页: [1]
查看完整版本: 显示寄存器的值