《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 解决方案 > 汇编基础:跳转指令

汇编基础:跳转指令

2017-06-10
關鍵詞: 汇编

匯編中的跳轉指令從大體上分為無條件轉移指令和條件轉移指令。下面就圍繞著這兩個大的方面來探究下匯編語言的跳轉指令。

一、無條件轉移指令

無條件轉移指令JMP將無條件地轉移到指令的目的地址去執行指令,因此JMP指令必須指定轉移的目標地址

無條件轉移指令可以分為兩類:段內跳轉和段間跳轉,段內轉移是指在同一段的范圍內運行轉移。此時轉移指令將改變IP寄存器的值,即用新的轉移目標地址代替原有的IP寄存器的值來實現轉移,因此,此時的目標地址給出偏移量即可,段間轉移是要轉移到另一個邏輯段去執行程序,此時不僅要修改IP寄存器的值,而且還需要修改CS寄存器的值才能達到轉移的目的,因此,此時的目標地址應由段基值和偏移量兩部分組成。

1、段內轉移

段內轉移時,指令和要轉移的目標指令同屬于一個段,因此只需修改寄存器IP的值,而代碼段寄存器CS的值保持不變,所以指令中給出目標指令的偏移量即可。根據給出目標指令偏移量的方式,JMP指令的尋址方式分為段內直接尋址和段內間接尋址。

【a】、段內轉移直接尋址

指令的操作數部分直接給出目標指令的偏移量。在這種情況之下,一般使用標號來作為JMP指令的操作數,指令格式如下。

段內轉移直接尋址:

JMP NEAR PTR TARGET

執行的操作IP<--(IP)+TARGET與JMP指令的下一條指令的16位位移量距離。

【b】、段內轉移間接尋址

JMP指令轉移到目標地址在某一個通用寄存器中或者某一個字存儲單元中。段內轉移間接尋址的指令格式為:

JMP REG

JMP WORD PTR ADDR

在JMP REG中,REG為通用寄存器,執行的操作為:

IP<---通用寄存器REG的內存

在JMP WORD PTR ADDR中,ADDR為各種尋址方式確定的存儲單元地址,并且在無歧義的情況下WORD PTR可以省略不寫,執行的操作為:

IP<---字存儲單元ADDR的內存

2、段間轉移

由于這種轉移是從一個邏輯段轉移到另一個邏輯段,所以執行短劍轉移指令時,代碼段寄存器CS和指令指針IP的值都要修改。同樣,根據目標指令給出地址的方式,可分為短劍轉移直接尋址和段間轉移間接尋址。

【a】、段間轉移直接尋址

指令的操作數部分通過標號直接給出目標指令的段基值和偏移量,指令格式如下:

JMP FAR PTR TARGET

執行的操作為:

IP<---TARGET的偏移量

CS<---TARGET的段基值

【b】、段間轉移間接尋址

JMP指令轉移的目標地址在某一個雙字存儲單元中,段間轉移間接尋址的指令格式為:

JMP DWORD PTR ADDR

執行操作為:

IP<---ADDR的第一個字存儲單元中的內容

CS<---ADDR的第二個字存儲單元中的內容

二、條件轉移指令

條件轉移指令是根據CPU中標志寄存器的個狀態位,入符號位SF,零值位ZF,進位位CF,奇偶位PF與溢出位OF等決定程序的執行流程,條件轉移指令是以標志寄存器各狀態為為條件,如果條件成立,則控制轉移到指令中國所給出的轉移目標。條件不成立,程序將順序執行,關于標志寄存器的內容請看我的另一篇博文,(http://yiluohuanghun.blog.51cto.com/3407300/938213)。

條件轉移指令一般在算術運算、邏輯運算或移位運算等對標志寄存器有影響的指令之后,根據這些指令操作后影響的狀態標志決定是否發生轉移。

關于條件轉移指令的細分,我在網上看到一篇不錯的文章,大家有興趣的可以參考下http://hi.baidu.com/jan008yy/blog/item/5b5b07d915a678ef38012f31.html,我在這里就不再一一解釋。

到此為止,我們已經掌握了最基本的跳轉指令。這部分知識對于我們在后續篇章中講到的匯編,言分支程序設計是必要的。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 欧美一区二区三区精美影视| 一区二区不卡视频| 国产精品美女免费看| 国产精品久久久久99| 国产成人精品久久| 欧美一级免费看| 欧美在线亚洲在线| 99九九视频| 久久国产精品精品国产色婷婷| 91精品国产一区| 99精品视频在线看| 国产精品99久久久久久久久久久久| 久久久国产精品亚洲一区| 一本二本三本亚洲码| 97久久精品国产| 日韩欧美在线播放视频| 一区二区三区四区视频在线观看| 亚洲自拍欧美另类| 尤物国产精品| 亚洲xxxx做受欧美| 热久久这里只有| 国产精品一区二区三区免费观看| 免费影院在线观看一区| 久久久久久国产免费| 亚洲福利av在线| 久久久久免费视频| 久久亚洲私人国产精品va| 国产精品一区专区欧美日韩| 俺去了亚洲欧美日韩| 国产精品二区在线| 97精品一区二区三区| 国产精品久久久| 亚洲自拍中文字幕| 国内一区二区在线视频观看| 国产精品一区电影| 国产精品美女免费视频| 日本一区二区三区在线视频| 国产无套内射久久久国产| 日本精品国语自产拍在线观看| 国产日韩专区在线| 欧美日韩精品在线一区二区|