生活随笔
收集整理的這篇文章主要介紹了
汇编的一些基本流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、比較指令 cmp
cmp?值一?值二?1.但是不能直接比較兩個變量,可以賦值到寄存器?2.比較必須同時為有符號或則無符號?3.字節數必須相同?4.可以cmpsb,cmbsw比較其他的字節長度?無符號;?------------------------------------------------------------?格式???????????????????功能?????????????????測試條件?jg/jnle?label???????????>??????????????????zf=0?and?sf=0f?jng/jle?label??????????≤???????????????????zf=1?or??sf不等0f?jl/jnge?label??????????<???????????????????sf不等0f?jnl/jge?label??????????≥???????????????????sf=0f?---------------------------------------------------------------??有符號;?-------------------------------------------------------------?格式???????????????????功能?????????????????測試條件?ja/jnbe?label???????????>??????????????????cf=0?and?zf=0?jna/jbe?label??????????≤???????????????????cf=1?or??zf=1?jb/jnae/jc?label????????<??????????????????cf=1?jnb/jae/jnc?label???????≥???????????????????cf=0?------------------------------------------------------------? 二、循環 loop
loop?label?循環次數根據cx而定的?處理寄存器的值有可能循環體內改變而出問題? 三、直接跳轉 jmp
jmp?label?直接跳轉修改ip值?jmp?far?ptr??修改cs和ip值?段間的跳轉?jmp?world?地址?修改ip?地址里面的數值?jmp?dworld?地址?修改cs跟ip? 四、call跟ret轉移指令
call?ptr?call?far?ptr?call?world?地址?call?dworld?地址? ?
轉載于:https://blog.51cto.com/cobbage/982576
總結
以上是生活随笔為你收集整理的汇编的一些基本流程的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。