작성
·
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 명령어를 참고해보시면 좋겠습니다.