[Assembly] 4. CMP의 사용과 상태 플래그
CMP 명령어는 두개의 인자를 비교하는 명령어인데, 이 때 플래그가 설정된다. 플래그란 CPU의 FLAGS 레지스터에 저장되는 데이터이다. 이때 FLAGS의 한 비트가 하나의 플래그가 된다. 플래그는 각각의 명령어(ex cmp, xor...)들을 실행할 때마다 설정된다. CMP도 이 명령어 중 하나이다. ex) 123cmp 3, 5 // CF = 1 cmp 3, 3 // ZF = 1cs 이중 상태 플래그는 6가지가 있는데, Carry Flag (CF) : 연산 결과가 저장공간을 벗어날 경우 1로 설정. (Unsigned) Overflow Flag (OF) : 연산 결과가 1비트를 넘어갈 때 1로 설정. (Signed) Zero Flag (ZF) : 연산 결과가 0일때 1로 설정. SIgn Flag (SF..