강의

멘토링

로드맵

Inflearn Community Q&A

ksh79533954's profile image
ksh79533954

asked

ARM Cortex-M Processor Programming

s324_Comparison Instruction

cmp r0, #0 실행시 상태 레지스터의 C = 0b1이 되는 이유가 무엇인가요?

Resolved

Written on

·

393

0

강의 잘 보고 있습니다.

궁금한게 있어서 질문 드립니다.

제가 알기론 cmp 명령어를 실행하면 오퍼랜드끼리 빼는 것으로 알고 있습니다.

따라서 cmp r0, #0시 Z flag가 1이 되는 것은 이해가 갑니다. 0 - 0 을 뺀 결과도 0이니 Z flag가 1이 되겠죠.

근데 C flag가 왜 1이되는지는 이해가 가지 않습니다.

이유가 무엇인가요?

arm-architecturecortex임베디드

Answer 1

0

ksh79533954님의 프로필 이미지
ksh79533954
Questioner

아 0의 2의 보수 값이 0xffffffff에 1을 더한 값이라 캐리가 발생하는 것이군요...

ksh79533954's profile image
ksh79533954

asked

Ask a question