轉移簡述

滄海一小帆發表於2020-11-02

轉移簡述

1,背景

​ 一般情況下指令是順序的逐條執行,而實際中常需要改變程式執行流程,例如:

mov ax,0
jmp short s
add ax,1
s:inc ax

2,轉移指令:

  • 可以控制CPU執行記憶體中某處程式碼的指令
  • 可以修改IP,或者同時修改CS和IP指令

3,轉移指令的分類

①按轉移行為:

  • 段內轉移:只修改IP,如:jmp,ax
  • 段間轉移:同時修改CS和IP,如jmp 1000:0

②根據指令對IP修改範圍不同

  • 段內短轉移:IP修改範圍為-128~127(位元組)

  • 段內近轉移:IP修改範圍-32768~-32767(字)

③按轉移指令

  • 無條件轉移指令(jmp等)
  • 條件轉移指令(jcxz等)
  • 迴圈指令(loop)
  • 過程
  • 中斷