Как будет применено смещение в этих двух случаях? - PullRequest
0 голосов
/ 20 января 2011

Прежде всего, я знаком с концепцией представления отрицательных чисел системой дополнения до двух, и я знаю, что когда есть инструкция перехода (короткая или близкая), смещение, которое она содержит, всегда добавляется в регистр EIP, и тамэто не тот случай, когда смещение вычитается из регистра EIP (если я прав!).но мне интересно, если в случае двух следующих видов адресации с отрицательным представленным смещением, это будет так же, как в случае использования смещения в инструкции перехода, которая всегда добавляется к базе и не вычитается в любомдело?

(в формате GASM):
"base_address (смещение, регистр индекса, масштаб)" как:

%eax(-4,%ebx,1)

"смещение (базовый регистр)"например:

-4(%eax)

будет ли двоичное число добавляться в регистр eax или вычитаться?

1 Ответ

1 голос
/ 21 января 2011

-4 будет добавлено к значению регистра, уменьшив его на 4. Смещения всегда добавляются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...