Win32asm обучение


Урок 5 - Коды операции - часть 7


Примечание от переводчика: Вот тут мне кажется автор допустил ошибку относительно команд RCR и RCL, эти команды отличаются от ROR и ROL. Здесь я опишу алгоритм работы тех и других:

RCL и RCR сдвигают все биты операнда влево (для RCL) или вправо (для RCR) на один разряд, при этом старший(для RCL) или младший(для RCR) бит становится значением флага переноса cf; одновременно старое значение флага переноса cf вдвигается в операнд справа(для RCL) или слева(для RCR) и становится значением младшего(для RCL) или старшего(для RCR) бита операнда. Указанные действия повторяются количество раз, равное значению второго операнда.

ROL и ROR сдвигают все биты операнда влево(для ROL) или вправо(для ROR) на один разряд, при этом старший(для ROL) или младший(для ROR) бит операнда вдвигается в операнд справа(для ROL) или слева(для ROR) и становится значением младшего(для ROL) или старшего(для ROR) бита операнда; одновременно выдвигаемый бит становится значением флага переноса cf. Указанные действия повторяются количество раз, равное значению второго операнда.

Обмен

Команда XCHG также весьма проста. Назначение: обмен двух значений между регистрами или между регистрами и памятью:

eax = 237h

ecx = 978h

xchg eax, ecx

eax = 978h

ecx = 237h

[наверх]




- Начало -  - Назад -  - Вперед -



Книжный магазин