
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.07.2010, 00:02:15
|
|||
|---|---|---|---|
|
|||
Assembler |
|||
|
#18+
Приветствую! Я не пойму команду "TEST". Пошел в гугл, нашел статьи с примерами, не доходит. Разные результаты получаются, не нахожу в них общее и не понимаю как TEST работает. Если TEST проверяет на равенство нулю, как понять "test eax,eax"? Открыл книгу, там значит: из книгиЭта инструкция устанавливает флаги так же, как и инструкция AND, но не изменяет биты первого операнда. Если какие-либо соответствующие биты обоих ZF.Вот несколько примеров: TEST CX,0FFh ;CX = 0 ? JZ адрес ;Перейти , если CX = 0 TEST BL, 00000001B ; Содержит ли BL - нечетное число? JNZ адрес ; Перейти, если BL - нечетное число TEST CL,11110000B ; Хотя бы один из четерех старших битов CL равен 1? JNZ адрес ; Перейти, если да Инструкцию AND я тоже что-то не очень понял как и XOR,OR. NOT если я правильно понял меняет биты на противоположные. т.е. 001101 на 110010 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2010, 00:05:53
|
|||
|---|---|---|---|
|
|||
Assembler |
|||
|
#18+
Опечатка в тексте из книги. перепишу: Эта инструкция устанавливает флаги так же, как и инструкция AND, но не изменяет биты первого операнда. Если какие-либо соответствующие биты обоих операндов одновременно равны 1, TEST очищает (устанавливет в 0) флаг ZF. Вот несколько примеров: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2010, 00:28:00
|
|||
|---|---|---|---|
|
|||
Assembler |
|||
|
#18+
Фунтик Иньетю Инструкцию AND я тоже что-то не очень понял как и XOR,OR. NOT если я правильно понял меняет биты на противоположные. т.е. 001101 на 110010 ? Надо для начала почитать по Булевой алгебре и вообще по математической логике. Иначе ассемблер тебе ничего не даст кроме гемороя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2010, 00:29:04
|
|||
|---|---|---|---|
Assembler |
|||
|
#18+
Фунтик ИньетюЯ не пойму команду "TEST". ... Если TEST проверяет на равенство нулю, Нет. AND изменяет первый операнд TEST не изменяет. В остальном они одинаковы. Фунтик ИньетюИнструкцию AND я тоже что-то не очень понял как и XOR,OR. NOT если я правильно понял меняет биты на противоположные. т.е. 001101 на 110010 ? Читай букварь. Главу "Булева алгебра" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1343550]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
278ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 576ms |

| 0 / 0 |
