Вы можете очистить биты с помощью операции AND.
for each bit index `i`
result[i] = boolean_and(first[i], second[i])
.--------- commonly associated symbol for the operation
|
& 1 0 <- first argument
-------
1 | 1 0 <- result
0 | 0 0
^--------- second argument
Пример с байтом:
00101100
00111010
&
00101000
Таким образом, вы можете использовать эту операцию для маскирования и отражения битовых областей.в реестре.Передайте константу в качестве второго аргумента, у которого всплывают биты, которые вы хотите сохранить.
x86 mnemonic: AND a, b
operation: a = a & b
Вот как это сделать, если вы еще этого не поняли:
AND eax, 0xfffffffc
AL является младшей байтовой частью EAX-регистра, поэтому вы можете сделать это следующим образом.
Вот двоичная таблица -> шестнадцатеричная таблица преобразования:
0000 | 0
0001 | 1
0010 | 2
0011 | 3
0100 | 4
0101 | 5
0110 | 6
0111 | 7
1000 | 8
1001 | 9
1010 | a
1011 | b
1100 | c
1101 | d
1110 | e
1111 | f
О, и вы должны помнить этоесли вы собираетесь быть уважающим себя ассемблером-программистом.
Также прочитайте об операциях OR и XOR-bit.