Как посмотреть, что происходит в нижних частях регистра EAX в VS2008? - PullRequest
0 голосов
/ 05 марта 2011

Я делаю домашнее задание по сборке и подумал, что лучший способ разобраться в происходящем - это наблюдать за тем, что происходит в регистрах во время работы программы. В Visual Studio вы можете просматривать регистры, но я делаю операцию, которая изменяет только вещи в младших 8 битах одного из моих регистров, поэтому я не уверен, на что мне смотреть. Кто-нибудь может мне помочь?

Вот вопрос и код, который я использую:

Каким будет шестнадцатеричное значение целевого операнда после выполнения каждой из следующих инструкций в последовательности?

TITLE MASM Template                     (main.asm)

INCLUDE Irvine32.inc

.data var1 SBYTE -4, -2, 3, 1

.code main PROC

    call Clrscr

    mov  al, var1   mov ah, [var1+3]

    exit main ENDP

END main

Я почти уверен, что ответ - 4 после первого оператора и 1 после второго, но я хочу видеть его в регистрах.

и окно регистрации я должен выглядеть как в VS: enter image description here

1 Ответ

2 голосов
/ 05 марта 2011

Регистры ah и al являются просто псевдонимами для младших двух байтов eax, поэтому вы можете просто отслеживать запись eax в окне регистров. В вашем примере ah - это 0x36, а al - 0x65. Вам также может понадобиться mov al, [var1], чтобы получить значение по этому адресу, но я не уверен в этом.

...