暫存器語法
偵錯工具可以控制暫存器和浮點暫存器。
當您在運算式中使用暫存器時,應該在暫存器之前新增登入 ( @ ) 。 這個符號會告訴偵錯工具下列文字是暫存器的名稱。
如果您使用 MASM 運算式語法,您可以省略特定非常常見的暫存器之 at 符號。 在 x86 型系統上,您可以省略eax、ebx、ecx、edx、esi、edi、ebp、eip和efl暫存器的 at 符號。 不過,如果您指定較不常見的暫存器,而沒有 at 符號,偵錯工具會先嘗試將文字解譯為十六進位數位。 如果文字包含非十六進位字元,偵錯工具接下來會將文字解譯為符號。 最後,如果偵錯工具找不到符號相符專案,偵錯工具會將文字解譯為暫存器。
如果您使用 C++ 運算式語法,則一律需要 at sign。
r (Registers) 命令是此規則的例外狀況。 偵錯工具一律會將第一個引數解譯為暫存器。 (不需要或允許 at 符號。) 如果 r 命令有第二個引數,則會根據預設運算式語法加以解譯。 如果預設運算式語法為 C++,您必須使用下列命令,將 ebx 暫存器複製到 eax 暫存器。
0:000> r eax = @ebx
如需每個處理器專屬之暫存器和指示的詳細資訊,請參閱 處理器架構。
x86 型處理器上的旗標
x86 型處理器也會使用數個稱為 旗標的 1 位暫存器。 如需這些旗標和可用來檢視或變更這些旗標之語法的詳細資訊,請參閱 x86 旗標。
暫存器和執行緒
每個執行緒都有自己的暫存器值。 當執行緒正在執行時,這些值會儲存在 CPU 暫存器中,並在另一個執行緒執行時儲存在記憶體中。
在使用者模式中,暫存器的任何參考會解譯為與目前線程相關聯的暫存器。 如需目前線程的詳細資訊,請參閱 控制進程和執行緒。
在核心模式中,暫存器的任何參考會解譯為與目前暫存器內容相關聯的暫存器。 您可以設定暫存器內容,以符合特定的執行緒、內容記錄或陷阱框架。 您只能顯示指定暫存器內容最重要的暫存器,而且您無法變更其值。