|
|
|
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:02:15 |
|
||
|
Assembler
|
|||
|---|---|---|---|
|
#18+
Опечатка в тексте из книги. перепишу: Эта инструкция устанавливает флаги так же, как и инструкция AND, но не изменяет биты первого операнда. Если какие-либо соответствующие биты обоих операндов одновременно равны 1, TEST очищает (устанавливет в 0) флаг ZF. Вот несколько примеров: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2010, 00:05:53 |
|
||
|
Assembler
|
|||
|---|---|---|---|
|
#18+
Фунтик Иньетю Инструкцию AND я тоже что-то не очень понял как и XOR,OR. NOT если я правильно понял меняет биты на противоположные. т.е. 001101 на 110010 ? Надо для начала почитать по Булевой алгебре и вообще по математической логике. Иначе ассемблер тебе ничего не даст кроме гемороя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2010, 00:28:00 |
|
||
|
Assembler
|
|||
|---|---|---|---|
|
#18+
Фунтик ИньетюЯ не пойму команду "TEST". ... Если TEST проверяет на равенство нулю, Нет. AND изменяет первый операнд TEST не изменяет. В остальном они одинаковы. Фунтик ИньетюИнструкцию AND я тоже что-то не очень понял как и XOR,OR. NOT если я правильно понял меняет биты на противоположные. т.е. 001101 на 110010 ? Читай букварь. Главу "Булева алгебра" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2010, 00:29:04 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36769311&tid=1343550]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
192ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 493ms |

| 0 / 0 |
