Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 3 апреля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

oops bt edx,eax подскажите плиз что делает bt edx,eax если edx=00d12345...


oops bt edx,eax подскажите плиз что делает bt edx,eax если edx=00d12345 eax=3FF
как я понял из описания в CF устанавлвается если совпадает бит из edx номер которого в eax
но в eax=1111111111b
какой бит с каким он в данном случае сравнивает??
если можно, то напишите как в учебнике :) ну как там про xor, and, or описывается
01010010 xor
10010011
------------
11000001

ну типа того :)
MoonShiner :: Не совпадает, а равен 1. А также установит CF в значение проверяемого бита. А если значение eax превышает максимальное количество битов edx (сколько это - считай сам:-) то ХЗ че будет:) Но думаю будет 0. Мне лень смотреть в отладчике, глянь сам:)

Gloomy :: oops
› BT база, смещение
База - это регистр или переменная, смещение - число или регистр. В твоем случае в команде BT edx,eax проверяется бит, установленный в 1 в регистре edx по смещению, указанному в регистре eax. Если edx=00d12345h=110100010010001101000101b, смещение в eax=3FFh=1Fh, т.е. проверяется 31 бит регистра edx. В данном случае бит равен 0 (смотри на число в edx и считай биты от нуля справа налево). Команда BT используется так:

BT eax,0Ah ; проверяем 10тый бит в регистре eax
jc _b1_ ; прыгаем если бит установлен в 1






   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS