使用 Visual Studio 调试 ASM - 不会显示寄存器内容

Debugging ASM with Visual Studio - Register content will not display

我一直在为 class 开发一个汇编语言项目,虽然我终于能够解决这段代码中的所有问题(我相信),但我现在似乎无法理解注册要显示的内容。

这是我的代码...

include C:\Irvine\Irvine32.inc

.data
;Variables are listed in following order VAR DATATYPE DIGITS[RADIX] with 
comments showing binary version of listed digits
  left DWORD 321                                        ;101000001b
  right DWORD 4247                                  ;1000010010111b 
  total DWORD ?                                 ;uninitialized
  diff DWORD ?                                  ;uninitialized

;Define a string called message containing HELLO WORLD!
message BYTE '"Hello world!"'

;Calculate length of Array and move to var ArrayLength
  Array WORD 1,2,4,8,16,32,64                           ;Array 
  ArrayLength = ($ - Array) / 2

.code
main PROC

;Move left and right to respective registers
  MOV eax,left
  MOV ebx,right

;Add left var and right var and store in new var called total and move to 
ecx
  MOV total,eax
  ADD total,ebx
  MOV ecx,total

;Subtract left var and right var and store in new var called diff and move 
to edx  
  MOV diff,eax
  SUB diff,ebx
  MOV edx,diff

;Move Array to esi
  MOV esi,ArrayLength

  call  DumpRegs 

  exit
main ENDP
END main

当我调试时,我没有收到任何错误消息,但 IDE 不显示我需要的寄存器或其内容。

我到处搜索试图看看可能是什么问题并得到了一些答案并且能够找到一些关于在本网站上的 VS 中打开寄存器 window...

https://msdn.microsoft.com/en-us/library/62680774.aspx

但我试图在我的 IDE 中找到这个 window,即使在启用地址级调试之后也是如此,但无济于事。我不知道这是我安装方式的问题还是 VS2017 中没有注册 window ...非常欢迎任何帮助

郑重声明,我使用的是 Visual Studio 2017


我试过在 call DumpRegs 之后添加一个等待,甚至添加一个断点,但这只会使 运行 停止,并且不会显示任何寄存器..

What it looks like after I add a breakpoint

感谢@Jester,我能够看到寄存器 window。 (请参阅 Visual Studio 文档中的 how to use the registers window。)

这可能是微不足道的,但我还是会说出来。为了查看寄存器 window,您需要在程序退出之前输入一个断点,或者使用 Irvine wait 宏或 call ReadChar 编写您的程序以自行暂停,或者相似。

暂停后,你可以通过调试window和windows子window到达寄存器window,瞧,你有寄存器内容可见。

在寄存器中右击window和selectUC及所有你想显示的数据