汇编 - 位数组中的第一位

时间:2013-05-24 15:12:24

标签: assembly

我需要2位,位数为偏移量6。

mov eax, [bitarray]; // get address of bit array
shr eax, 6; // clear first 6 bits
shl eax, 30 // clear last 30 bits
shr eax, 30; // move that 2 bits back to start

现在在eax中我需要这两位,对吧?

当我的存储器从0开始(一个单元是一位)时,位置0的位是在最右边的位置或最左边的位置加载到寄存器eax之后?

2 个答案:

答案 0 :(得分:3)

而不是最后的两个班次,你可以使用按位AND

AND EAX,3  ; Keep the original value of the two least significant bits; all
           ; other bits in EAX are cleared.

最左边的位是最重要的位,最右边的位是最不重要的位。

答案 1 :(得分:0)

mov eax,[bitarray]

位掩码?

mov eax,[bitarray]
mov ebx,C0         ;11000000 binary
and ax,bx