- 0
- 0
- 约6.33千字
- 约 10页
- 2026-08-18 发布于未知
- 举报
9.3依據位移進行轉移的jmp指令因為程式1、2中的jmp指令轉移的位移相同,都是向後3個位元組,所以它們的機器碼都是EB03。原來如此,在“jmpshort標號”指令所對應的機器碼中,並不包含轉移的目的地址,而包含的是轉移的位移。這個位移,使編譯器根據彙編指令中的“標號”計算出來的,9.3依據位移進行轉移的jmp指令轉移位移具體的計算方法如下圖:9.3依據位移進行轉移的jmp指令結論:CPU執行jmpshort標號指令時並不需要轉移的目的地址,只需要知道轉移的位移就行了。具體過程演示9.3依據位移進行轉移的jmp指令實際上,指令“jmpshort標號”的功能為(IP)=(IP)+8位位移。(1)8位位移=“標號”處的地址-jmp指令後的第一個位元組的地址;(2)short指明此處的位移為8位位移;(3)8位位移的範圍為-128~127,用補數表示(如果你對補數還不了解,請閱讀附注2)(4)8位位移由編譯程序在編譯時算出。9.3依據位移進行轉移的jmp指令還有一種和指令“jmpshort標號”功能相近的指令格式:jmpnearptr標號它實現的時段內近轉移。指令“jmpnearptr標號”的功能為:(IP)=(IP)+16位位移。9.3依據位移進行轉移
原创力文档

文档评论(0)