BIT 값 대입 MACRO


BIT 값 대입 MACRO

특정 BITS 에 값을 셋팅 하는 것은, 추출 하는 것 보다 조금 더 작업이 필요하다. 기존 data에 해당 bits에만 값을 설정하여야 하고, 다른 bits 값들은 유지를 하여야 한다. origin = 1001 0001 (0x91) 3 ~ 5 번째 bits에 101 (0x5) 를 설정한다고 하자. 결과적으로 다음과 같은 값이 나와야 한다. ==> 1010 1001 이 값을 구하기 위하여 순서대로 처리를 하면 1. 해당 3 ~ 5 bits를 나타내는 mask 값을 구한다. (3 ~ 5번째 bits만 1로 셋팅) 0011 1000 2. origin에서 3 ~ 5 번째 값을 0으로 초기화를 한다. 1001 0001 & 1100 0111 ==> origin & ~mask 3. 해당 bits에만 설정되도록 값을 구한다. 0010 1000 ==> (0x5 << 3) & mask 4. 2에서 구한 값에 3의 값을 설정한다. 1010 1001 ==> (2.결과 값) | (3.결과 값) (1001...


#bit #macro #set #비트 #설정

원문링크 : BIT 값 대입 MACRO