JS、JNS、JP(JPE)、JNP(JPO)指令詳解、從原理上解釋

  • JS
    格式:
js 地址

當執行到JS指令時,如果標誌位SF=1,則跳轉到指定的地址,如果SF=0,不跳轉

比如:

cmp eax,ecx
js 0040100c

此時eax=0,ecx=1,執行完cmp命令,符號標誌位SF=1,執行到JS時,跳轉到0040100c處執行

  • JNS
    格式:
jns 地址

當執行到JNS指令時,如果標誌位SF=0,則跳轉到指定的地址,如果SF=1,不跳轉,和JS剛好相反

  • JP、JPE
    JP和JPE是一個意思,只不過是寫法不同,當執行到JPE(JP)命令時,如果此時標誌位PF=1,則跳轉到指定的地址,如果PF=0,不跳轉
cmp eax,ecx
jpe 0040100c

此時eax=0x20,ecx=0x17,執行完cmp,結果爲0x3,轉換爲二進制爲11,1的個數爲偶數個,所以PF=1,跳轉到0040100c處執行

  • JNP、JPO
    JNP、JPO也是一個意思,不同寫法而已,當執行到JNP(JPO)命令時,如果此時標誌位PF=0,則跳轉到指定的地址,如果PF=1,不跳轉
cmp eax,ecx
jpe 0040100c

此時eax=0x20,ecx=0x18,執行完cmp,結果爲0x32,轉換爲二進制爲01,1的個數爲奇數個,所以PF=0,跳轉到0040100c處執行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章