日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

8086处理器的无条件转移指令——《x86汇编语言:从实模式到保护模式》读书笔记13

發布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8086处理器的无条件转移指令——《x86汇编语言:从实模式到保护模式》读书笔记13 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本博文是對原書8.3.10的內容的總結。

一、相對短轉移

指令格式是:

jmp short 標號

標號也可以替換成具體的數值(標號和數值是等價的),例如

jmp short 0x2000

說明:

(1)該指令屬于段內轉移指令,而且只允許轉移到距離當前指令-128~127字節的地方。

(2)指令的功能是:(IP) = (IP)+8位位移量(范圍是-127~128,用補碼表示)

(3)short指明此處的位移為8位

(4)8位位移=標號處的地址-jmp指令后的第一個字節的地址;8位位移由編譯器在編譯時算出;

二、16位相對近轉移

指令格式是:

jmp near 標號

同理,標號也可以是具體的數值,如

jmp near 0x3200

說明:

(1)該指令屬于段內轉移,轉移范圍是-32768~32767

(2)指令的功能是:(IP)= (IP)+16位位移量(范圍是-32768~32767,用補碼表示)

(3)near指明此處的位移為16位

(4)16位位移=標號處的地址-jmp指令后的第一個字節的地址;16位位移由編譯器在編譯時算出;

?

注意:如果沒有指定關鍵字是near或者short,那么NASM編譯器會根據目標位置距離當前指令的位移量自動選擇near(范圍在-127~128內)或者short(范圍在-127~128外,但是在-32768~32767內)。

?

三、16位間接絕對近轉移

指令格式為:

jmp (near) r16/m16

說明:

(1)這種轉移也是段內轉移,但是轉移的目標不是在指令中直接給出,而是由一個16位的通用寄存器或者內存地址間接給出

(2)near關鍵字可以省略

(3)執行時,處理器將用16位通用寄存器的值或內存中的那個字取代IP寄存器的內容。

四、16位直接絕對遠轉移

指令格式為:

jmp 段地址:偏移地址

說明:

(1)屬于段間轉移

(2)執行時,處理器用段地址的內容取代CS的值,用偏移地址(也可以是標號)取代IP的值

五、16位直接絕對遠轉移

指令格式為:

jmp far m32

說明:

(1)關鍵字far是必須的

(2)操作數是一個內存地址,內存地址處存放著2個字,低字是偏移地址,高字是段地址

(3)執行時,處理器根據內存地址找到偏移地址和段地址,分別用來代替IP和CS的內容


(完)

總結

以上是生活随笔為你收集整理的8086处理器的无条件转移指令——《x86汇编语言:从实模式到保护模式》读书笔记13的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。