2011-12-03 1 views
2

누군가이 명령의 내용을 설명하고 그것을 C로 번역 할 수 있습니까?ARM 비트 필드 추출?

ubfx.w   r3, r11, #0xE, #1 

는 ARM 참조 설명서에 의하면, "서명 부호없는 비트 필드 추출"를 수행하지만 난 모든 비트 물건 좋은 아니에요.

답변

4

UBFX는 소스 레지스터에서 비트 필드를 추출하여 대상 레지스터의 최하위 비트에 놓습니다.

일반 형식은 다음과 같습니다

UBFX dest, src, lsb, width 

는 C에있는은 다음과 같습니다

dest = (src >> lsb) & ((1 << width) - 1); 

당신이주는 예제의 C 동등한은 다음과 같습니다

r3 = (r11 >> 14) & 1; 

즉, R3 것 r11의 비트 14가 설정되면 1이되고, 그렇지 않으면 0이됩니다.

참조 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cjahjhee.html