인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

박종호님의 프로필 이미지
박종호

작성한 질문수

ARM Cortex-M 프로세서 프로그래밍

s323_비트 연산 명령어

bics 명령어 질문드립니다.

작성

·

222

1

bics r0, r1, #3 << 30

이 동작이 이해가 가지 않습니다 ,,,

 

#3 << 30이 뭘 뜻하는지 모르겠습니다 ㅠㅠ

 

 

답변 1

0

홍영기님의 프로필 이미지
홍영기
지식공유자

안녕하세요. 박종호님

영상에도 나와있듯이 bics r0, r1, #3 << 30 명령어는 bics r0, r1, #0xC0000000 와 완전 동일한 기능을 수행하는 명령어로써 여기서는 r1 레지스터의 31번과 30번 비트를 지우는 기능으로 활용됩니다.

예를들어 볼게요.

bic r0,#0xff 의 경우는 r0 레지스터의 7번~0번 비트가 지워지게 되며(r0=r0 & 0xff)

bic r0,r1, #0xff 의 경우는 r1 레지스터의 7번~0번 비트가 지워진 결과가 r0에 저장됩니다. 이때 r1 의 값은 이 명령어의 실행 전과 실행 후가 동일하게됩니다(r0=r1 & 0xff)

실습파일과 함께 제공해드린 PDF 문서(ARM CORTEX-M 프로세서 프로그래밍.pdf) 132쪽 BIC 명령어를 참고해보시면 좋겠습니다.

 

박종호님의 프로필 이미지
박종호

작성한 질문수

질문하기