ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FLAGS 레지스터
    Programming 2009. 4. 9. 21:14


    Intel x86 FLAGS Register
    Bit # Abbreviation Description Category*
    FLAGS
    0 CF Carry flag S
    1 1 Reserved  
    2 PF Parity flag S
    3 0 Reserved  
    4 AF Adjust flag S
    5 0 Reserved  
    6 ZF Zero flag S
    7 SF Sign flag S
    8 TP Trap flag (single step) X
    9 IF Interrupt enable flag X
    10 DF Direction flag C
    11 OF Overflow flag S
    12, 13 IOPL I/O privilege level (286+ only) X
    14 NT Nested task flag (286+ only) X
    15 0 Reserved  
    EFLAGS
    16 RF Resume flag (386+ only) X
    17 VM Virtual 8086 mode flag (386+ only) X
    18 AC Alignment check (486SX+ only) X
    19 VIF Virtual interrupt flag (Pentium+) X
    20 VIP Virtual interrupt pending (Pentium+) X
    21 ID Identification (Pentium+) X
    22 0 Reserved  
    23 0 Reserved  
    24 0 Reserved  
    25 0 Reserved  
    26 0 Reserved  
    27 0 Reserved  
    28 0 Reserved  
    29 0 Reserved  
    30 0 Reserved  
    31 0 Reserved  
    RFLAGS
    32-63 0 Reserved  
    S: Status flag
    C: Control flag
    X: System flag

    캐리(CF:Carry)
    덧셈을 할 때 MSB(most significant bit)로부터 자리올림이 있거나, 뺄셈을 할 때 msb로 자리 빌림이 있으면 CF=1이고, 그렇지 않으면 0이다. CF의 값은 또한 시프트(shift)와 로테이트(rotate)명령에 의해 영향을 받기도 한다

    패리티(PF:Parity)플래그
    어떤 결과의 하위 ㅂ이트에 있는 1의 비트 수가 짝수(even parity)이면, PF=!이다. 만약 하위 비트가 홀수(oad parity)를 가지고 있으면, 그 값은 0이다. 예를 들어, 워드 덧셈의 결과가 FFFEh라면,  하위 바이트는 7개의 1비트를 가지고 있다. 따라서 PF=0이다

    보조 캐리(AF:Auxiliary Carry)플래그
    덧셈할 때 3번 비트로 부터 캐리가 발생하거나 뺄셈할 때 비트로 빌림이 있으면 AF=1이다. AF는 BCD(binary code decimal) 연산에 사용한다.

    제로(ZF:Zero)플래그
    어떤 결과의 값이 0이면 ZF=1이고, 그렇지 않는 결과에 대해서 ZF=0이다.

    부호(SF:Sign)플래그
    어떤 결과의msb가 1이면 SF=1이다 이것은 부호가 있는 계산을 할 때 그 결과가 음수라는 것을 의미한다. msb가 0이면 SF=0이다.

    오버플로우(OF:Overflow)플래그
    오버플로우가 발생하면 OF=1이고, 그렇지 않으면 0이다.

    플래그 영향

     명령 플래그의 영향
     MOV/XCHG  없음
     ADD/SUB  모두
     INC/DEC  CF를 제외한 모두
     NEG  모두(결과가0이 아닌 이상 CF=1, 또는 워드 오퍼랜드가 8000h 또는 바이트 워드가 80h 이면 OF=1)

    728x90
    반응형

    댓글

Designed by Tistory.