組合語言 第九章 轉移指令的原理

2022-03-21 09:52:05 字數 1020 閱讀 6036

1- 可以修改ip,或同時修改cs和ip的指令統稱為轉移指令.轉移指令就是可以控制cpu執行記憶體中某處的**指令

8086cpu的轉移行為有以下幾類:

(1) 只修改ip時,稱為段內轉移.比如:jmp ax.

(2) 同時修改cp和ip時,稱為段間轉移,比如 jmp 1000:0

由於轉移指令對ip的修改範圍不同,段內轉移又分為:短轉移和近轉移

(1) 短轉移ip的修改範圍-128-127

(2) 近轉移ip的修改範圍-32768-32767

8086cpu的轉移指令分為以下幾類:

(1) 無條件轉移指令(jmp)

(2) 條件轉移指令

(3) 迴圈指令(loop)

(4) 過程

(5) 中斷

1 assume cs:

codesg

2codesg segment

3start:

mov ax, offset start ;

相當於mov ax,0 4s:

mov ax, offset s ;

相當於mov ax,3 第一條指令為3個位元組

5codesg ends

6 end start

1

;將s處的**複製到s0處

2 assume cs:

codesg

3codesg segment4s:

movax,bx

5mov si, offset s ;

機器佔2個位元組

6mov

di, offset s0

7mov ax, cs:

[si]

8mov

cs:[di],ax

9s0:

nop10

nop11

12mov

ax,4c00h

13int

21h14

codesg ends

15 end s

組合語言 第九章 轉移指令

修改cs ip的值 範圍在 128 127之間,也就是說向前轉移最多128位元組,向後127位元組 mov ax,0 b80000 對應機器碼 jum short s eb03 兩位元組 這裡的eb是jum的機器碼,03指的ip是向下移動2位元組,這裡的03我們就稱為轉移位移,一般用補碼表示,有負數...

第九章 轉移指令的原理

一 操作符offset 格式 offset 標號 二 jmp指令 jmp為無條件轉移指令,可以只修改ip,也可以同時修改cs和ip。三 依據位移進行轉移的jmp指令 1 jmp short 標號 實現段內短轉移 功能 ip ip 8位位移 8位位移 標號處位址 jmp指令後的第乙個位元組的位址 sh...

第九章 轉移指令

目錄有條件轉移指令 jcxz jne je等等 迴圈指令 loop 注意點課後檢測點 轉移指令可以理解為轉移程式執行位置的指令。轉移指令通常會修改ip或 ip與cs 其使用方式根據跳轉的距離 修改ip的範圍 分為三種 段內短轉移 跳轉的ip範圍為 128 127 段內近轉移 跳轉的ip範圍為 327...