乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      學 Win32 匯編[28]---跳轉(zhuǎn)指令

       herowuking 2015-09-26

      跳轉(zhuǎn)指令分三類:
      一、無條件跳轉(zhuǎn): JMP;
      二、根據(jù) CX、ECX 寄存器的值跳轉(zhuǎn): JCXZ(CX 為 0 則跳轉(zhuǎn))、JECXZ(ECX 為 0 則跳轉(zhuǎn));
      三、根據(jù) EFLAGS 寄存器的標志位跳轉(zhuǎn), 這個太多了.

      根據(jù)標志位跳轉(zhuǎn)的指令:
      
      JE   ;等于則跳轉(zhuǎn)
      JNE  ;不等于則跳轉(zhuǎn)
      
      JZ   ;為 0 則跳轉(zhuǎn)
      JNZ  ;不為 0 則跳轉(zhuǎn)
      
      JS   ;為負則跳轉(zhuǎn)
      JNS  ;不為負則跳轉(zhuǎn)
      
      JC   ;進位則跳轉(zhuǎn)
      JNC  ;不進位則跳轉(zhuǎn)
      
      JO   ;溢出則跳轉(zhuǎn)
      JNO  ;不溢出則跳轉(zhuǎn)
      
      JA   ;無符號大于則跳轉(zhuǎn)
      JNA  ;無符號不大于則跳轉(zhuǎn)
      JAE  ;無符號大于等于則跳轉(zhuǎn)
      JNAE ;無符號不大于等于則跳轉(zhuǎn)
      
      JG   ;有符號大于則跳轉(zhuǎn)
      JNG  ;有符號不大于則跳轉(zhuǎn)
      JGE  ;有符號大于等于則跳轉(zhuǎn)
      JNGE ;有符號不大于等于則跳轉(zhuǎn)
      
      JB   ;無符號小于則跳轉(zhuǎn)
      JNB  ;無符號不小于則跳轉(zhuǎn)
      JBE  ;無符號小于等于則跳轉(zhuǎn)
      JNBE ;無符號不小于等于則跳轉(zhuǎn)
      
      JL   ;有符號小于則跳轉(zhuǎn)
      JNL  ;有符號不小于則跳轉(zhuǎn)
      JLE  ;有符號小于等于則跳轉(zhuǎn)
      JNLE ;有符號不小于等于則跳轉(zhuǎn)
      
      JP   ;奇偶位置位則跳轉(zhuǎn)
      JNP  ;奇偶位清除則跳轉(zhuǎn)
      JPE  ;奇偶位相等則跳轉(zhuǎn)
      JPO  ;奇偶位不等則跳轉(zhuǎn)
      

      跳轉(zhuǎn)相關(guān)的標志位:
      11 10 9 8 7 6 5 4 3 2 1 0
      OF DF IF TF SF ZF   AF   PF   CF

           








      JMP 測試
      ; Test28_1.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          jmp @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      
      ;測試結(jié)果應該是:
      ;1
      ;4
      ;以下都應該是這樣.
      

      JE 測試
      ; Test28_2.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          mov eax, 123
          cmp eax, 123
          je @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JZ 測試
      ; Test28_3.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          xor eax, eax
          jz @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JS 測試
      ; Test28_4.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          xor eax, eax
          dec eax
          js @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      
      

      JC 測試
      ; Test28_5.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          mov al, 0FFh
          add al, 1
          jc @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JO 測試
      ; Test28_6.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          mov al, -128
          sub al, 1
          jo @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JA 測試
      ; Test28_7.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          mov eax, 22
          cmp eax, 11
          ja @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JG 測試
      ; Test28_8.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          mov eax, 1
          cmp eax, -1
          jg @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JP 測試
      ; Test28_9.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          mov al, 00001110b
          inc al
          jp @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

      JECXZ 測試
      ; Test28_10.asm;
      .386
      .model flat, stdcall
      
      include    windows.inc
      include    kernel32.inc
      include    masm32.inc
      include    debug.inc
      includelib kernel32.lib
      includelib masm32.lib
      includelib debug.lib
      
      .code
      main proc
          PrintText '1'
          xor ecx, ecx
          jecxz @F
          PrintText '2'
          PrintText '3'
      @@: PrintText '4'
          ret
      main endp
      end main
      

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多