Изменить: ответил на мой собственный вопрос. Смотри ниже. -_-
У меня есть переменная, определенная в сегменте .data следующим образом:
retVal DW 0100h ;stores hex fraction of the intermediate value. Starts at 1.00
Это значение, которое я добавляю или вычитаю, чтобы получить возвращаемое значение.
Впервые он появляется в сегменте кода в следующем месте:
sub [retVal], ax ;
Я использовал отладчик и могу подтвердить, что во время этой операции регистр оси: 0000h.
Тем не менее, если я добавлю следующую строку кода непосредственно перед ней:
mov dx, 0100h;
mov [retVal], 0100h;
Я получаю совершенно другое значение (тоже неправильное). Я совершенно сбит с толку. Я принципиально неправильно использую переменные здесь? Я не понимаю, почему загрузка того же значения, которым изначально была инициализирована переменная (и еще не измененная), изменит результаты.
Любые идеи? В противном случае, может ли кто-нибудь напомнить мне, как отслеживать значение переменной через CodeView? (Отладчик DOSBox, который я использую)