首頁 / 應用電子技術 / 彙編語言跳轉指令jc(跳轉指令 彙編)

        彙編語言跳轉指令jc(跳轉指令 彙編)

        Time:2024-02-17 04:10:06 Read:642 作者:CEO

        彙編中的跳轉指令一般分為無條件跳轉指令和條件跳轉指令。接下來我們就圍繞這兩大方麵來探討一下彙編語言的跳轉指令。

        1.無條件轉賬指令

        彙編語言跳轉指令jc(跳轉指令 彙編)

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

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

        1. 分部內轉讓

        段內傳輸時,指令與要傳輸的目標指令屬於同一個段,因此隻需修改寄存器IP的值,而代碼段寄存器CS的值保持不變,因此指令中給出了目標指令。根據目標指令偏移量的給定方式,JMP指令的尋址方式分為段內直接尋址和段內間接尋址。

        [a]、段內傳輸直接尋址

        指令的操作數部分直接給出了目標指令的偏移量。在這種情況下,通常使用標簽作為JMP指令的操作數。指令格式如下。

        段內傳輸直接尋址:

        JMP 接近PTR 目標

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

        【b】、段內傳輸間接尋址

        JMP指令傳送到通用寄存器或字存儲單元中的目標地址。段內傳送間接尋址的指令格式為:

        JMP寄存器

        JMP 字PTR 地址

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

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

        JMP WORD PTR ADDR中,ADDR是各種尋址方式確定的內存單元地址,如果沒有歧義,WORD PTR可以省略不寫。執行的操作有:

        IP---字存儲單元ADDR的存儲器

        2、分部間轉讓

        由於這種傳輸是從一個邏輯段到另一個邏輯段,因此在執行匕首傳輸指令時,必須修改代碼段寄存器CS和指令指針IP的值。同樣,根據目標指令給出地址的方式,可以分為匕首傳輸直接尋址和段間傳輸間接尋址。

        [a]、段間傳輸直接尋址

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

        JMP FAR PTR 目標

        執行的操作有:

        IP---TARGET的偏移量

        CS---TARGET段基值

        【b】、段間傳送間接尋址

        JMP指令傳送的目標地址在某個雙字存儲單元中。段間傳送間接尋址的指令格式為:

        JMP DWORD PTR 地址

        執行操作為:

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

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

        2. 有條件轉移指令

        條件傳送指令根據CPU中標誌寄存器的狀態位、符號位SF、零值位ZF、進位位CF、奇偶校驗位PF和溢出位OF來決定程序的執行流程。狀態是有條件的。如果條件為真,則控製權轉移至指令China給出的轉移目標。如果不滿足條件,則程序將順序執行。 flag寄存器的內容請參見我的另一篇博文(http://yiluo Huanghun.blog.51cto.com/3407300/938213)。

        條件轉移指令通常遵循對標誌寄存器有影響的指令,例如算術運算、邏輯運算或移位運算。是否發生傳輸是根據這些指令的操作所影響的狀態標誌來確定的。

        關於條件傳送指令的細分,我在網上看到了一篇很好的文章。如果您有興趣,可以參考http://hi.baidu.com/jan008yy/blog/item/5b5b07d915a678ef38012f31.html。這裏我就不詳細說了。解釋。

        至此,我們已經掌握了最基本的跳轉指令。這部分知識對於我們後續章節要講到的彙編和分支編程是必須的。

        Copyright © 2002-2024 應用電子技術網 版權所有 
        備案號:

        免責聲明: 1、本站部分內容係互聯網收集或編輯轉載,並不代表本網讚同其觀點和對其真實性負責。 2、本頁麵內容裏麵包含的圖片、視頻、音頻等文件均為外部引用,本站一律不提供存儲。 3、如涉及作品內容、版權和其它問題,請在30日內與本網聯係,我們將在第一時間刪除或斷開鏈接! 4、本站如遇以版權惡意詐騙,我們必奉陪到底,抵製惡意行為。 ※ 有關作品版權事宜請聯係客服郵箱:478923*qq.com(*換成@)