2012-12-12 3 views
2

저는 교수님이 만든 예제를 실행하여 bsetbclr 어셈블리 명령에 대한 내 이해에 의문을 갖게했습니다.bset 및 bclr에 대한 이해

나는이 할 경우

bset BITS,80 

내가 두 사이에 AND 나 OR 연산을 수행하고 있습니까?

M <= M + mask 

는 OR 또는 AND 연산자 +인가 : 내 참조 가이드 bset는이 작업을 수행하는 것을 말한다? bclr은 동일한 명령이지만 마스크의 보수로 연산을 수행합니다.

+0

비트 설정 및 지우기는 각각 ORing 및 ANDing을 의미합니다 (비트 단위). –

+0

그래서'bset'은 OR을하고'bclr'은 AND를 할 것입니까? 감사합니다. 감사합니다. 답변으로 게시하고 싶다면 동의 해 주시면 감사하겠습니다. – n0pe

답변

2

비트 설정 및 지우기는 각각 ORing 및 ANDing, bitwise를 의미합니다. BSET는 OR을 수행해야하며 BCLR은 효과적으로 수행해야합니다.

BCLR은 명령어 세트의 설계자가 얼마나 좋은지에 따라 BCLR이 비트 벡터로 수행하거나 BCLR이 비트 벡터 (내 추측)의 보수와 함께 수행 할 수 있습니다.