우리는 C 식의 등가 을 수행 ADDL 명령어를 사용한다고 가정 "t = A + B"A, B, T 형 INT의 변수 곳는 다음 조건 코드는 다음 C에 따라 설정 될 식 :약 어셈블리 조건 코드 레지스터
CF (부호 t) < (부호 a) 부호없는 오버플
ZF (t == 0) 제로
SF : OF (t < 0) 음
: (a < 0 == B를 < 0) & & (! t < 0 = A < 0) 부호 오버플
Quted 컴퓨터 시스템 교과서에서.
- CF는 캐리 플래그입니다.
- ZF는 제로 플래그입니다.
- SF는 부호 플래그입니다.
- OF가 오버플로 플래그입니다.
이들 식은 식 (t < 0)은 SF 플래그를 설정 이유 예 above.for 한 효과를 가질 이유는 파악할 수 없다 ?? t < 0은 true 또는 false입니다 (교과서에서만 이러한 변수의 유형을 말했기 때문에). 그러나 왜 기호 플래그가 설정 되었습니까? 정말 혼란 스럽습니다. 제발 도와주세요. 감사합니다!
당신을위한 약간 도움 : CF는 CarryFlag입니다 ZF는 ZeroFlag SF입니다 SignFlag OF는 OverflowFlag입니다. 모두 추측. 질문에 더 많은 정보를 넣어야합니다. 도대체 당신 텍스트에 대해 무엇입니까? 그것은 지금까지 질문처럼 들리지 않습니다 ... –
적어도 추측없이 대답 할 수있는 사람은 하나도 없습니다 :) –
의견을 주셔서 감사합니다. 분명히 명확한 질문이 아닙니다. 나는 그것을 편집했습니다. :-) – Pwn