lm68140318 发表于 2023-11-4 07:21:08

如何显示变量值

如图,在VS2019中运行汇编,如何显示变量的值?

isdkz 发表于 2023-11-4 07:21:15

在VS2019中运行汇编程序时,可以使用调试器来显示变量的值。具体步骤如下:

1. 在代码中设置断点,以便在程序执行到该处时停止。
2. 运行程序,程序会在断点处停止。
3. 在调试器的“自动”窗口中,可以看到程序中所有变量的值。
4. 如果要查看特定变量的值,可以将光标放在该变量上,然后在调试器的“自动”窗口中查看该变量的值。

另外,还可以使用调试器中的“监视”窗口来监视特定变量的值。具体步骤如下:

1. 在代码中设置断点,以便在程序执行到该处时停止。
2. 运行程序,程序会在断点处停止。
3. 在调试器的“监视”窗口中,点击“添加监视”按钮。
4. 在弹出的对话框中输入要监视的变量名,并点击“确定”。
5. 调试器会在“监视”窗口中显示该变量的值。

希望这些步骤能够帮助你在VS2019中显示变量的值。

Mike_python小 发表于 2023-11-4 07:21:29

在汇编语言中,要显示变量的值,您可以使用调试器或打印函数。下面是两种常见的方法:

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

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

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

assembly
section .data
    format db "%s: %d", 0
    var db "Hello, world!", 0

section .text
    global main

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

    lea ebx, ; 将 format 字符串的地址存储在 EBX 寄存器中
    lea ecx,    ; 将 var 变量的地址存储在 ECX 寄存器中

    push ebx          ; 将 format 字符串的地址作为参数压入栈
    push ecx          ; 将 var 变量的地址作为参数压入栈
    call printf       ; 调用 printf 函数

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

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


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

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

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 如何显示变量值