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

박정원님의 프로필 이미지

작성한 질문수

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

s210_LR 레지스터와 함수호출

lr 레지스터 LSB 값

해결된 질문

24.03.20 18:57 작성

·

164

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 꼼꼼한 강의에 항상 감사드립니다!강의 중에 lr 레지스터에 저장된 값의 LSB가 1이면 Thumb 명령어라고 하셨는데 Thumb2 명령어는 따로 구분하는게 있나요?

답변 1

1

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

2024. 03. 20. 22:18

안녕하세요. 박정원님!

Thumb-2 명령어는 레지스터의 LSB가 1로 설정되어 있을 때 실행되며, Thumb 명령어와 마찬가지로 이 규칙을 따릅니다. 이 명령어 세트는 Thumb의 확장 버전으로, 16비트와 32비트 명령어를 혼합하여 사용할 수 있는 특징을 가지고 있습니다. 추가적으로, Thumb-2는 런타임 시 내부적으로 명령어가 16비트인지 아니면 32비트인지를 판별할 수 있는 메커니즘을 갖추고 있어, 명령어의 처리 과정을 더욱 효율적으로 만듭니다.

박정원님의 프로필 이미지
박정원
질문자

2024. 03. 21. 08:34

강사님, 자세한 답변 감사드립니다!

Thumb2 명령어 중 16bit 명령어가 Thumb 명령어라고 생각하면 될까요?

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

2024. 03. 21. 22:12

Thumb-2 명령어 세트 내의 16비트 명령어들도 Thumb-2의 일부로 간주됩니다. 결국 16비트 크기와 32비트 크기인 경우 모두 한 가지 Thumb-2 명령어로 통일된 명칭을 사용합니다.