轉移指令jmp和跳轉指令call

2021-07-03 15:52:36 字數 1017 閱讀 9333

以下內容文字描述來自於 王爽老師的《組合語言》教材,建議大家都買一本,哈哈。不是我打廣告,確實人家寫的好,應該支援。我只是附上了自己的和理解而已。

只修改ip,稱為段內轉移,如jmp ax

修改cs和ip,稱為段間轉移,如 jmp 1000:0

轉移指令分為:

無條件轉移,如jmp

條件轉移

迴圈指令, loop

過程 中斷

對ip的修改範圍在-128~127;

[attention] :cpu在執行jmp指令時,並不需要轉移的目的位址, 而是包含轉移的位移;

它實現的是段內近轉移, 只不過對ip的修改範圍在 -32768~32767;

它實現的是段間轉移,又稱遠轉移; far ptr 指明了指令用標號的段位址和偏移位址修改cs和ip;

相當於——將當前的ip或cs和ip壓入棧,然後轉移;

call指令除了不能實現短轉移之外,其他和jmp相同;

call far ptr 標號實現的是段間轉移;
指令格式:call 16為reg

功能:

sp = sp -2

ss * 16 + sp = ip

ip = 16位reg

also 相當於

push ip

jmp 16位reg

彙編轉移指令jmp原理

在計算機中儲存的都是二進位制數,計算機將記憶體中的某些數當做 某些數當做資料。在根本上,將cs,ip暫存器所指向的記憶體當做 指令轉移就是修改cs,ip暫存器的指向,彙編中提供了一種修改它們的指令 jmp。jmp指令可以修改ip或cs和ip的值來實現指令轉移,指令格式為 jmp 標號 將指令轉移到標...

014 無條件跳轉指令jmp

l無條件跳轉指令 jmp lgoto 指令 l 優化後的指令 l標誌暫存器 psw 1514 1312 111098 7654 3210 ofdf iftf sfzf afpfcf零 標誌標誌暫存器psw 程式狀態字暫存器 psw 標誌暫存器psw是乙個16為的暫存器。它反映了cpu運算的狀態特徵並...

8086 彙編 jmp 指令

功能 修改cs ip的指令 可以通過改變cs ip中的內容,來控制cpu要執行的目標指令。背景 一般情況下指令是順序地逐條執行的,而在實際中,常需要改變程式的執行流程。轉移指令,短轉移 jmp short 標號 功能 ip ip 8位位移 原理 1 8位位移 標號 處的位址 jmp指令後的第乙個位元...