powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler
4 сообщений из 4, страница 1 из 1
Assembler
    #36769305
Фунтик Иньетю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!

Я не пойму команду "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 ?
...
Рейтинг: 0 / 0
Assembler
    #36769306
Фунтик Иньетю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка в тексте из книги. перепишу:

Эта инструкция устанавливает флаги так же, как и инструкция AND, но не изменяет биты первого операнда. Если какие-либо соответствующие биты обоих операндов одновременно равны 1, TEST очищает (устанавливет в 0) флаг ZF. Вот несколько примеров:
...
Рейтинг: 0 / 0
Assembler
    #36769311
Фунтик Иньетю
Инструкцию AND я тоже что-то не очень понял как и XOR,OR.
NOT если я правильно понял меняет биты на противоположные.
т.е. 001101 на 110010 ?
Надо для начала почитать по Булевой алгебре и вообще по математической логике. Иначе ассемблер тебе ничего не даст кроме гемороя
...
Рейтинг: 0 / 0
Assembler
    #36769315
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фунтик ИньетюЯ не пойму команду "TEST".
...
Если TEST проверяет на равенство нулю,
Нет.
AND изменяет первый операнд TEST не изменяет. В остальном они одинаковы.

Фунтик ИньетюИнструкцию AND я тоже что-то не очень понял как и XOR,OR.

NOT если я правильно понял меняет биты на противоположные.
т.е. 001101 на 110010 ?
Читай букварь. Главу "Булева алгебра"
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]