C++프로그래밍/어셈블리 언어

어셈블리 분기문

season97 2024. 9. 15. 11:49

※ C / C++을 이미 알고 있으나 어셈블리에 대해 알고싶어 공부하는 것 이므로

기초 개념을 자세하게 포스팅 하고 있지 않습니다. 

 

 

▶ 분기문

ㆍ 우리가 아는 if문

ㆍ 특정 조건에 따라 코드의 흐름을 제어하는 것

 

어셈블리에선 어떻게?

ㆍ 문법은 : CMP dst , src

ㆍ dst가 기준이 된다.

ㆍ 비교를 완료 한 결과물은 Flag Register에 저장된다.

cmp rax, rbx 를 비교해 결과가 FlagRegister에 저장

 

 

▶ Flag Register

어셈블리에선 "jump문" 이 있다

ㆍ 이러한 문을 통해 Flag Register에 저장된다

 

▶ 위 개념을 이용한 어셈블리에서 실습

같으면 1 아니면 0 출력 프로그램

 

플래그를 까보면 이런값이 들어가 있다..

 

※ C++의 if / else 문이 내부적으론 이렇게 돌아 가는거군

'C++프로그래밍 > 어셈블리 언어' 카테고리의 다른 글

어셈블리 배열과 주소  (0) 2024.09.15
어셈블리 반복문  (0) 2024.09.15
어셈블리 논리연산  (0) 2024.09.15
쉬프트 연산  (0) 2024.09.15
문자와 엔디안  (0) 2024.09.14