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

꽃밭위의 제임스님의 프로필 이미지
꽃밭위의 제임스

작성한 질문수

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

s205_THUMB2 명령어

Cortex M4F에서 Thumb-2 지원 방법

작성

·

240

1

수업 너무 잘 듣고 있습니다. 아직 강의를 다 듣지 못해서 엉뚱한 질문일 수 있습니다.
궁금한 부분이 있는데요.
 
Coretex-M4F 인경우, ARM모드는 지원하지 않고 Thumb, Thumb2만 지원하는 것 처럼 보이는데, 맞나요?
 
그렇다면, Thumb-2 모드를 어떻게 사용할 수 있을지 알 수 있을까요?

답변 1

0

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

안녕하세요. 꽃밭위의 제임스님!

Thumb-2 에 대해서 질문주셨네요. 영상속에서 설명한 것처럼 CORTEX-M4 프로세서는 ARM 명령은 지원하지 않습니다. 그럼 Thumb 명령어만 생각하면 되겠죠?

 

예를들어 다음과 같은 명령어의 경우

mov r0,#1 는 Thumb(16)명령일까요? Thumb-2(32)명령일까요?

이 경우 컴파일러는 가급적 Thumb 명령어를 이용하여 기계어 코드를 생성해줍니다.

우리가 Thumb 이나 Thumb-2 을 특별히 선언하지 않을 경우 자동으로 Thumb 으로 생성해주죠. 불가능할 경우에만 Thmub-2 로 변환(묵시적인 변환) 시켜준다고 보시면 됩니다.

 

사용자가 필요하다면 다음처럼 명시적인 변환도 가능합니다.

예를들어 코드를 다음과 같이 작성하였을 경우는 

mov.w r0,#1 는 Thumb-2(32)명령으로 만들어지고요, (w: wide)

mov.n r0,#1 는 Thumb(16)명령으로 만들어집니다. (n: narrow)

 

지금까지 설명드린 내용은 앞으로 보실 강의 영상 속에서 확인하실 수 있어요.

또 궁금한 점 있으시면 질문남겨주시고요.

행복한 하루되세요. 나중에 수강후기 꼭 부탁드립니다 :)

꽃밭위의 제임스님의 프로필 이미지
꽃밭위의 제임스

작성한 질문수

질문하기