功能:修改cs、ip的指令、可以通過改變cs、ip中的內容,來控制cpu要執行的目標指令。
背景:一般情況下指令是順序地逐條執行的,而在實際中,常需要改變程式的執行流程。
轉移指令,
短轉移:「jmp short 標號」
功能:(ip)=(ip)+8位位移
原理(1)8位位移=「標號」處的位址-jmp指令後的第乙個位元組的位址;
(2)short指明此處的位移為8位位移;
(3)8位位移的範圍為-128~127,用補碼表示;
(4)8位位移由編譯程式在編譯時算出
近轉移:指令「jmp near ptr 標號」
功能: (ip)=(ip)+16位位移
原理(1)16位位移=「標號」處的位址-jmp指令後的第乙個位元組的位址;
(2)near ptr指明此處的位移為16位位移,進行的是段內近轉移;
(3)16位位移的範圍為 -32769~32767,用補碼表示;
(4)16位位移由編譯程式在編譯時算出。
1、同時修改cs、ip的內容
;2、僅修改ip的內容;jmp 2ae3:
3
;3、**中跳轉行功能:用暫存器中的值修改ip
;jmp 某一合法暫存器
jmp ax (類似於 mov ip, ax)
;jmp 直接跳過 add ax,1 行到 inc ax
mov ax,0
jmpshort s
add ax, 1
s:inc ax
彙編轉移指令jmp原理
在計算機中儲存的都是二進位制數,計算機將記憶體中的某些數當做 某些數當做資料。在根本上,將cs,ip暫存器所指向的記憶體當做 指令轉移就是修改cs,ip暫存器的指向,彙編中提供了一種修改它們的指令 jmp。jmp指令可以修改ip或cs和ip的值來實現指令轉移,指令格式為 jmp 標號 將指令轉移到標...
8086彙編 rep 指令
rep指令常和串傳送指令搭配使用 功能 根據cx的值,重複執行後面的指令 功能 以位元組為單位傳送 1 es 16 di ds 16 si 2 如果df 0則 si si 1 di di 1 如果df 1則 si si 1 di di 1 功能 以字為單位傳送 1 es 16 di ds 16 si...
8086彙編 call 指令
字面意思 呼叫子程式 實質 流程轉移指令,它們都修改ip,或同時修改cs和ip call指令實現轉移的方法和 jmp 指令的原理相似 格式 call 標號 返回指令 ret retf cpu執行call指令,進行兩步操作 1 將當前的 ip 或 cs和ip 壓入棧中 2 轉移到標號處執行指令。cal...