| 명령어 | 부등호 조건 | Flag 조건 |
| JMP | 1(True) | |
| JA | > | CF=0 & ZF=0 |
| JNBE | > | CF=0 & ZF=0 |
| JAE | >= | CF=0 | ZF=1 |
| JNB | >= | CF=0 | ZF=1 |
| JB | < | CF=1 |
| JNAE | < | CF=1 |
| JBE | <= | CF=1 | ZF=1 |
| JNA | <= | CF=1 | ZF=1 |
| JCXZ | CX == 0 | . |
| JE | == | ZF=1 |
| JZ | == | ZF=1 |
| JG | > | ZF=0 & SF == OF |
| JNLE | > | ZF=0 & SF == OF |
| JGE | >= | SF == OF |
| JNL | >= | SF == OF |
| JL | < | SF != OF |
| JGNE | < | SF != OF |
| JLE | <= | ZF == 1 | SF != OF |
| JNG | <= | ZF == 1 | SF != OF |
| JNE | != | ZF == 0 |
| JNZ | != | ZF == 0 |
| JNO | No overflow | OF == 0 |
| JNP | No parity (홀수) | PF == 0 |
| JPO | No parity (홀수) | PF == 0 |
| JNS | No sign (양수) | SF == 0 |
| JO | Overflow | OF == 1 |
| JP | Parity (작수) | PF == 1 |
| JS | Sign (음수) | SF == 1 |
| Bit | 플래그 기호 | 이름 | 의미 |
| 0 | CF | 캐리 플래그 (Carry flag) | 부호 없는 숫자의 연산 결과가 비트 범위를 넘어섰을 때 참이 됩니다. (1=Carry, 0=No Carry) |
| 1 | - | EFLAGS인 경우는 항상 1로 예약 | |
| 2 | PF | 패리티 플래그 (Parity flag) | 연산 결과에서 1로된 비트의 수가 짝수일 경우 참이 됩니다. (1=Even, 0=Odd) |
| 3 | - | 예약 | |
| 4 | AF | 보조 캐리 플래그 (Adjust flag) | 연산 결과 하위 니블(4bits)에서 비트 범위를 넘어섰을 때 참이 된다. 이진화 십진법(BCD) 연산에 사용됩니다. (1=Auxiliary Carry, 0=No Auxiliary Carry) |
| 5 | - | 예약 | |
| 6 | ZF | 제로 플래그 (Zero flag) | 연산 결과가 0일 경우에 참이 됩니다. (1=Zero, 0=Not Zero) |
| 7 | SF | 사인 플래그 (Sign flag) | 연산 결과가 음수일 때 참이 됩니다. (1=Negative, 0=Positive) |
| 8 | TF | 트랩 플래그 (Trap flag) | 참일 경우 한 명령이 실행할 때마다 인터럽트가 발생합니다. 디버깅시에 사용합니다. |
| 9 | IF | 인터럽트 플래그 (Interrupt flag) | 이 플래그가 참일 경우에만 인터럽트 요구를 받아들입니다. 일반적으로 관리자 모드에서만 값을 변경 할 수 있습니다. (1=Enable Interrupt, 0=Disable Interrupt) |
| 10 | DF | 디렉션 플래그 (Direction flag) | 문자열 조작에서 참일 경우 주소 레지스터 값이 자동으로 감소하고, 거짓일 경우 자동으로 증가합니다. (1=Down, 0=Up) |
| 11 | OF | 오버플로 플래그 (Overflow flag) | 부호 있는 숫자의 연산 결과가 비트 범위를 넘어섰을 때 참이 된다. (1=Overflow, 0=Not Overflow) |
| 12 | IOPL | I/O privilege level (286+ only), always 1[clarification needed] on 8086 and 186 | |
| 13 | |||
| 14 | NT | 8086과 186은 항상 1, 286+는 Nested task flag | |
| 15 | - | 8086과 186은 항상 1, 그 이후의 모델은 항상 0 | |
| 16 | RF | Resume flag | (386+ only) |
| 17 | VM | Virtual 8086 mode flag | (386+ only) |
| 18 | AC | Alignment check/Access control | (486SX+ only) |
| 19 | VIF | Virtual interrupt flag | (Pentium+) |
| 20 | VIP | Virtual interrupt pending | (Pentium+) |
| 21 | ID | Able to use CPUID instruction | (Pentium+) |
| 22 | - | 예약 | |
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 ~ 63 | - | 예약 |
MOV AL, 4 CMP AL, 1
MOV AL, 4 SUB AL, 1
MOV AL, 4 ADD AL, 0FFH
0000 0100 - 0000 0001 ------------- 0 0000 0011
0000 0100 + 1111 1111 (1의 2의 보수) ------------- 1 0000 0011
MOV AL, 4 /* 목적지 피연산자 */ MOV CL, 1 /* 소스 피연산자 */ NEG CL /* 2의 보수 */ ADD AL, CL /* 덧셈 */ CMC /* Carry flag 반전 */
https://en.wikipedia.org/wiki/Status_register
https://en.wikipedia.org/wiki/FLAGS_register
https://thinkpro.tistory.com/137
https://m.blog.naver.com/PostView.nhn?blogId=window__han&logNo=80166632434&proxyReferer=https%3A%2F%2Fwww.google.com%2F