-
轉(zhuǎn)移分兩種:段內(nèi)轉(zhuǎn)移、段間轉(zhuǎn)移,其中段內(nèi)轉(zhuǎn)移又分短轉(zhuǎn)移、近轉(zhuǎn)移
- 短轉(zhuǎn)移IP的修改范圍為-128 ~ 127, 8位補(bǔ)碼
- 近轉(zhuǎn)移IP的修改范圍為-32768 ~ 32767, 16位補(bǔ)碼
操作符
offset
形式: offset 標(biāo)號
說明: 用于提取標(biāo)號的偏移地址
舉例: mov ax, offset s ;將標(biāo)號s的偏移地址復(fù)制給ax指令
jmp
| 形式 | 說明 | 類型 |
|---|---|---|
| jmp short 標(biāo)號 | IP進(jìn)行8位位移的轉(zhuǎn)移 | 段內(nèi)短轉(zhuǎn)移 |
| jmp near ptr 標(biāo)號 | IP進(jìn)行16位位移的轉(zhuǎn)移 | 段內(nèi)近轉(zhuǎn)移 |
| jmp far ptr 標(biāo)號 | 將標(biāo)號的SA:EA賦值給CS:IP | 段間轉(zhuǎn)移 |
| jmp reg | (IP) = (reg) | 段內(nèi)近轉(zhuǎn)移 |
| jmp word ptr 內(nèi)存單元 | (IP) = (內(nèi)存單元地址) | 段內(nèi)近轉(zhuǎn)移 |
| jmp dword ptr 內(nèi)存單元 | (IP) = (內(nèi)存單元地址), (CS) = (內(nèi)存單元地址+2) | 段間轉(zhuǎn)移 |
指令
jcxz
形式: jcxz 標(biāo)號
說明: 當(dāng)cx為0時(shí),IP跳轉(zhuǎn)到標(biāo)號所處位置,屬于段內(nèi)短轉(zhuǎn)移
舉例: jcxz ko指令
loop
形式: loop 標(biāo)號
說明: 當(dāng)cx不為0時(shí),IP跳轉(zhuǎn)到標(biāo)號所處位置,屬于段內(nèi)段轉(zhuǎn)移
舉例: loop s