Как вы устанавливаете конкретные биты для двоичного числа в ISA IA32 или x86? - PullRequest
0 голосов
/ 08 февраля 2011

Я использовал другой процессор, который имел что-то вроде BIS для того же.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

В дополнение к обычным AND и OR, есть также BTS (набор), BTC (дополнение) и BTR (сброс), которые выполняют операции test-and-X на одном биты (плюс BT, что просто тест).

2 голосов
/ 08 февраля 2011

Вы можете использовать инструкции OR для установки определенных битов с битовой комбинацией и AND для их очистки (используя дополнение к битовой комбинации, которую вы использовали бы для их установки).Битовые комбинации можно настроить для установки и сброса нескольких битов одновременно.

Например, допустим, вы имеете дело с 8-битными значениями и хотите установить биты 4 и 3 (x означаетэто может быть либо 0 или 1):

    xxxx xxxx
 OR 0001 1000
  = xxx1 1xxx

Затем, чтобы очистить биты 7, 6, 2 и 0:

    xxx1 1xxx
AND 0011 1010
  = 00x1 10x0

OR и AND должна поддерживаться примерно на каждом ЦП.Я не могу этого гарантировать, но я никогда не видел ни одного без него (и я видел немало).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...