dekar

[스크랩] 어셈블리어 Jxx문 총정리

전설비 2009. 2. 20. 15:04
Jxx - 점프 명렁문

      어셈명령어              의 미                             점프 조건

          JA       결과가 1보다 클 경우 점프                 CF=0 and ZF=0
          JAE      결과가 1보다 크거나 같을경우 점프              CF=0
          JB       결과가 1보다 작을 경우 점프                    CF=1
          JBE      결과가 1보다 작거나 같을경우 점프         CF=1 or ZF=1
          JC       캐리 플래그가 1일경우 점프                     CF=1

          JCXZ     CX가 0일경우 점프                              CX=0
          JE       결과가 같을 경우 점프                          ZF=1
          JG       결과가 클경우 점프(signed)                ZF=0 and SF=OF
          JGE      결과가 크거나 같을 경우 점프 (signed)          SF=OF
          JL       결과가 작을 경우 점프(signed)                SF != OF
          JLE      결과가 작거나 같을 경우 점프 (signed)     ZF=1 or SF != OF
          JMP      무조건 점프                                  조건없음

          JNA      결과가 작을 경우 점프                      CF=1 or ZF=1
          JNAE     결과가 작거나 같을경우 점프                    CF=1
          JNB      결과가 클 경우 점프                            CF=0
          JNBE     결과가 크거나 같을경우 점프                CF=0 and ZF=0
          JNC      캐리 플래그가 0일경우 점프                     CF=0
          JNE      결과가 클 경우 점프                            ZF=0
          JNG      결과가 작을 경우 점프(signed)              ZF=1 or SF != OF

          JNGE     결과가 작거나 같을 경우 점프(signed)         SF != OF
          JNL      결과가 클 경우 점프(signed)                    SF=OF
          JNLE     결과가 크거나 같을 경우 점프(signed)       ZF=0 and SF=OF
          JNO      오버 플로우 하지 않으면 점프(signed)           OF=0
          JNP    Jump if No Parity(Parity가 뭔지 모르겠어요 ㅠ)      PF=0
          JNS      결과가 Signed 가 아닐때 점프(signed)           SF=0
          JNZ      결과가 0 이 아닐때 점프Jump if Not Zero        ZF=0

          JO       오버 플로우 일 경우 점프(signed)               OF=1
          JP       Jump if Parity                                 PF=1
          JPE      Jump if Parity Even                            PF=1
          JPO      Jump if Parity Odd                             PF=0
          JS       Signed 이면 점프 (signed)                      SF=1
          JZ       0 이면 점프                                    ZF=1


                                 클럭                   바이트
        오퍼랜드         808x  286   386   486          용량

        Jx: jump          16   7+m   7+m    3             2
            no jump        4    3     3     1
        Jx  near-label     -    -    7+m    3             4
            no jump        -    -     3     1

        - 점프하는것이 그냥 내려오며 실행되는것보다 실행하는데 더 많은 시간을 소요하므로
          코드를 정리하여 원하는 대로 점프 없이 실행되도록 하는것은 좋은 프로그래밍 연습
          입니다.

        - see    JCXZ  and  JMP    for their respective timings

        77 cb JA rel8 Jump short if above (CF=0 and ZF=0)
        73 cb JAE rel8 Jump short if above or equal (CF=0)
        72 cb JB rel8 Jump short if below (CF=1)
        76 cb JBE rel8 Jump short if below or equal (CF=1 or ZF=1)
        72 cb JC rel8 Jump short if carry (CF=1)

        E3 cb JCXZ rel8 Jump short if CX register is 0
        E3 cb JECXZ rel8 Jump short if ECX register is 0
        74 cb JE rel8 Jump short if equal (ZF=1)
        7F cb JG rel8 Jump short if greater (ZF=0 and SF=OF)
        7D cb JGE rel8 Jump short if greater or equal (SF=OF)
        7C cb JL rel8 Jump short if less (SF<>OF)
        7E cb JLE rel8 Jump short if less or equal (ZF=1 or SF<>OF)

        76 cb JNA rel8 Jump short if not above (CF=1 or ZF=1)
        72 cb JNAE rel8 Jump short if not above or equal (CF=1)
        73 cb JNB rel8 Jump short if not below (CF=0)
        77 cb JNBE rel8 Jump short if not below or equal (CF=0 and ZF=0)
        73 cb JNC rel8 Jump short if not carry (CF=0)
        75 cb JNE rel8 Jump short if not equal (ZF=0)

        7E cb JNG rel8 Jump short if not greater (ZF=1 or SF<>OF)
        7C cb JNGE rel8 Jump short if not greater or equal (SF<>OF)
        7D cb JNL rel8 Jump short if not less (SF=OF)
        7F cb JNLE rel8 Jump short if not less or equal (ZF=0 and SF=OF)
        71 cb JNO rel8 Jump short if not overflow (OF=0)
        7B cb JNP rel8 Jump short if not parity (PF=0)

        79 cb JNS rel8 Jump short if not sign (SF=0)
        75 cb JNZ rel8 Jump short if not zero (ZF=0)
        70 cb JO rel8 Jump short if overflow (OF=1)
        7A cb JP rel8 Jump short if parity (PF=1)
        7A cb JPE rel8 Jump short if parity even (PF=1)
        7B cb JPO rel8 Jump short if parity odd (PF=0)
        78 cb JS rel8 Jump short if sign (SF=1)

        74 cb JZ rel8 Jump short if zero (ZF = 1)
        0F 87 cw/cd JA rel16/32 Jump near if above (CF=0 and ZF=0)
        0F 83 cw/cd JAE rel16/32 Jump near if above or equal (CF=0)
        0F 82 cw/cd JB rel16/32 Jump near if below (CF=1)
        0F 86 cw/cd JBE rel16/32 Jump near if below or equal (CF=1 or ZF=1)

        0F 82 cw/cd JC rel16/32 Jump near if carry (CF=1)
        0F 84 cw/cd JE rel16/32 Jump near if equal (ZF=1)
        0F 84 cw/cd JZ rel16/32 Jump near if 0 (ZF=1)
        0F 8F cw/cd JG rel16/32 Jump near if greater (ZF=0 and SF=OF)
        0F 8D cw/cd JGE rel16/32 Jump near if greater or equal (SF=OF)
        0F 8C cw/cd JL rel16/32 Jump near if less (SF<>OF)

        0F 8E cw/cd JLE rel16/32 Jump near if less or equal (ZF=1 or SF<>OF)
        0F 86 cw/cd JNA rel16/32 Jump near if not above (CF=1 or ZF=1)
        0F 82 cw/cd JNAE rel16/32 Jump near if not above or equal (CF=1)
        0F 83 cw/cd JNB rel16/32 Jump near if not below (CF=0)
        0F 87 cw/cd JNBE rel16/32 Jump near if not below or equal (CF=0 and ZF=0)

        0F 83 cw/cd JNC rel16/32 Jump near if not carry (CF=0)
        0F 85 cw/cd JNE rel16/32 Jump near if not equal (ZF=0)
        0F 8E cw/cd JNG rel16/32 Jump near if not greater (ZF=1 or SF<>OF)
        0F 8C cw/cd JNGE rel16/32 Jump near if not greater or equal (SF<>OF)
        0F 8D cw/cd JNL rel16/32 Jump near if not less (SF=OF)

        0F 8F cw/cd JNLE rel16/32 Jump near if not less or equal (ZF=0 and SF=OF)
        0F 81 cw/cd JNO rel16/32 Jump near if not overflow (OF=0)
        0F 8B cw/cd JNP rel16/32 Jump near if not parity (PF=0)
        0F 89 cw/cd JNS rel16/32 Jump near if not sign (SF=0)
        0F 85 cw/cd JNZ rel16/32 Jump near if not zero (ZF=0)

        0F 80 cw/cd JO rel16/32 Jump near if overflow (OF=1)
        0F 8A cw/cd JP rel16/32 Jump near if parity (PF=1)
        0F 8A cw/cd JPE rel16/32 Jump near if parity even (PF=1)
        0F 8B cw/cd JPO rel16/32 Jump near if parity odd (PF=0)
        0F 88 cw/cd JS rel16/32 Jump near if sign (SF=1)
        0F 84 cw/cd JZ rel16/32 Jump near if 0 (ZF=1)
 
Ps.. ㅋ 출처 적을려구 하는데 쿨소프트에서 퍼가기 쉽게 해뒀내 ㅋ
출처 : Nohave Name's Money Blog
글쓴이 : 이름없음 원글보기
메모 :