Понимание bset и bclr

Я наткнулся на пример моего профессора, который заставил меня усомниться в моем понимании bset а также bclr сборочные команды.

Если я сделаю это:

bset BITS,80

я выполняю операции И или ИЛИ между ними? Мой справочник говорит, что bset Является ли это:

M <= M + mask

Является + ИЛИ или оператор И? bclr та же команда, но выполняет операцию с дополнением маски.

1 ответ

Решение

Установка и очистка битов подразумевают ORing и ANDing, соответственно, по битам. BSET должен делать OR, а BCLR должен делать эффективно AND.

Может случиться так, что BCLR просто делает AND с битовым вектором, который вы ему даете, или BCLR делает AND с дополнением битового вектора (я полагаю), в зависимости от того, насколько хороши разработчики набора команд.

Другие вопросы по тегам