Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > Подскажите как работать с регистрами в ассемблере


Автор: 4classic4 23.1.2014, 20:01
mov eax, 0 //обнуляем
mov edx, 0//обнуляем
mov eax, 55555555h //eax - 32 бита (то есть 32 ячейки). туда мы записываем предложенное число в 2-ой СС
mov edx, 33333333h // также как с еах
not edx // 1 обращается в 0 и наоборот число, которое находится в edx
not ax // при чем тут ах - как с ним поступить?
xor eax, edx // куда результат данной операции поместить?

Прошу помочь с данным кодом.

Автор: LeonidPr 5.2.2014, 11:22
Опишу работу инструкции с помощью сишных операторов, может так понятнее вам будет.
Код

mov eax, 0                 ; eax = 0
mov edx, 0                 ; edx = 0
mov eax, 55555555h ; eax = 0x55555555
mov edx, 33333333h ; edx = 0x33333333
not edx                      ; edx = ~edx
not ax                        ; ax = ~ax
xor eax, edx              ; eax = eax ^ edx

Автор: tzirechnoy 5.2.2014, 23:15
AX -- это младшые 16 бит регистра EAX.
В остальном -- примерно такжэ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)