當前位置:考研網大全 - 翻譯在線 - 如何使用jmp short..指令?受歡迎。

如何使用jmp short..指令?受歡迎。

jmp短s

這裏編譯器在處理這條語句的時候,會把jmp short翻譯成機器碼EB,把後面的標簽S翻譯成數字。這個數字有多大?前面的短解釋為2字節,這裏的短限定了這個數的範圍,即在-128~+127之間。

這裏我們開始解釋這個數的值。壹般稍微有點匯編知識的人都會以為這個數就是目的地址,其實不是(隨便寫個例子自己調試壹下,機器碼EB後面沒有目的地址)。這裏的數字實際上是目的地址和當前jmp之間的距離:

例如:

jmp短s的當前偏移地址是0003。

s:標簽的地址是0008。

Jmp short翻譯成機器碼EB,占壹個字節。

符號S翻譯成數字,也占用壹個字節(這個指令* * *占用0003和0004兩個字節)。

因此,當前jmp指令和標簽S之間的距離由3個字節分隔(0005,0006,0007)。

所以編譯器會在EB後面加上目的地址和當前jmp之間的距離3H。

這條指令不會讓cpu修改cs段,所以這條指令是段內跳轉指令。實際上,CPU檢測到EB時,會在保持CS段不變的情況下,向前或向後跳轉n個字節。n取決於EB後面的數字。如果數字為正,它將向前跳,如果為負,它將向後跳。使用時註意不要跳到8位有符號數的範圍之外。

  • 上一篇:英譯漢3
  • 下一篇:讓我開心。
  • copyright 2024考研網大全