歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

X86的尋址方式和指令系統(tǒng).ppt

  • 資源ID:6575266       資源大小:1.56MB        全文頁數:40頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

X86的尋址方式和指令系統(tǒng).ppt

第三章80X86的尋址方式和指令系統(tǒng) 主要內容尋址方式指令系統(tǒng) 3 1概述 計算機解決問題 通過執(zhí)行指令序列完成 一條指令對應一種基本操作 如 加 減 傳送等 每種計算機都提供一組指令集給用戶 這組指令集稱為計算機的指令系統(tǒng) 一條指令由操作碼 操作數組成 操作碼 指示計算機要執(zhí)行的操作 操作數 指出指令在執(zhí)行過程中所需要的操作數 也可是操作數的地址 指令的一般格式 操作碼 操作數 操作數字段可以有一個或兩個 稱為一地址 二地址或三地址指令 如何尋找操作數就是尋址方式 3 2尋址方式 有效地址EA和段超越有效地址EA 段超越與數據有關的尋址方式立即尋址 寄存器尋址 直接尋址 寄存器間接尋址 寄存器相對尋址基址變址尋址 相對基址變址尋址比例變址尋址 基址比例變址尋址 相對基址比例變址尋址與轉移有關的尋址方式段內直接 間接尋址段間直接 間接尋址 3 2 1有效地址EA和段超越 1 有效地址 EA 當操作數存在mem中 其物理地址由段地址和偏移地址組成 其中偏移地址稱EA EA由以下四部分組成 1 位移量 存在指令中的一個8位 16位 32位的數 不是立即數 是地址 2 基址 存放在基址寄存器中的內容 3 變址 存放在變址寄存器中的內容 4 比例因子 其值為1 2 4 8 主要用于訪問元素長度為1 2 4 8字節(jié)的數組有用 386以后機型 EA 基址 變址 比例因子 位移量 2 段超越 尋址時 由EA中基址寄存器來規(guī)定段寄存器 正常情況下 PC機有個基本約定 一般是DS寄存器的內容作為段地址 若BP作基址 則段地址在SS中 若操作數存放在數據段以外的其他段中 允許 則應指明 這種情況稱為段超越 例 MOVAL 2000H 物理地址為 16x DS 2000數據在DS段中MOVAL ES 2000H ES 段超越前綴物理地址為 16x ES 2000H數據在ES段 超越 注意 不允許段超越的有 堆棧操作 只能用SS 取指令 只能用CS 目的串只能用ES P39 3 2 2與數據有關的尋址1 立即尋址 操作數直接包含在指令中 緊跟在操作碼的后面 與操作碼一起放在代碼段 Ex MOVAX imAx 目的操作數im 源操作數 2 主要用來給寄存器 存儲單元賦初值ex3 1 MOVAL 5 AL 05Hex3 2 MOVAX 0B34CH AX 0B34CH AHAL OP imL imH CS段 Im 立即數 可以是8位或16位 OP 4C B3 AHAL CS段 注意 立即數以A F開頭的十六進制數 必須在字母前加數字0 32位尋址時 ex3 3MOVEAX 12345678H EAX 12345678H 立即數尋址的功能 立即數尋址的執(zhí)行 2 寄存器尋址 速度快 1 操作數包含在CPU內部寄存器中 寄存器可以是8位或16位 也可以是32位 16位 AX BX CX DX SI DI SP BP8位 AH AL BH BL CH CL DH DL 32位 EAX EBX ECX EDX ESI EDI ESP EBP 2 ex MOVDS AXDSAX EX3 4 a MOVAX BX執(zhí)行前 AX 3064H BX 1234H執(zhí)行后 AX 1234H BX 不變 Ex3 4 b MOVECX EDX執(zhí)行前 ECX 01237541H EDX 12345678H執(zhí)行后 ECX 12345678H EDX 不變 寄存器尋址的功能 寄存器尋址的執(zhí)行 3 直接尋址 1 操作數的EA只含位移量一部分 其值存放在CS段 Mem 中 放在OP之后 操作數一般在DS段 實模式下 其物理地址為 16x Ds EA可以進行段超越 cs段 2 允許用符號地址代替數值EX MOVAX VALUE 或MOVAX VALUE若VALUE在ES段 則 MOVAX ES VALUE或MOVAX ES VALUE 3 用于處理單個變量 AHAL 30000H 32000H 50 30 OP 00 20 CS DS EX3 5MOVAX 2000H DS 3000HEA 2000H物理地址 30000H 2000H 32000H 32000H 3050H AX 3050H Ex3 6MOVEAX DATA 32位位移量 直接尋址的功能 直接尋址的執(zhí)行 4 寄存器間接尋址 1 操作數的EA只包含基址寄存器內容或變址寄存器內容 操作數在存儲器中 16位尋址 可用的寄存器是BX BP SI DI 其物理地址為 SI 16x Ds DI 16x SS BP 可以進行段超越 BX Ex MOVAX SS BX 物理地址 16X SS BX 操作數在SS段 采用段超越 32位尋址 EAX EBX ECX EDX ESP EBP ESI EDI8個通用寄存器 ESP EBP默認段為SS段 2 用于表格處理 AHAL 20000H 21000H A0 50 OP Ex3 7MOVAX BX 操作數在DS段DS 2000HBX 1000H物理地址 20000 1000 21000H 21000H 50A0H AX 50A0H CS DS Ex3 8MOVECX EDX 寄存器間接尋址的執(zhí)行 5 寄存器相對尋址 1 操作數的EA是基址寄存器或變址寄存器的內容和指令中指定的位移量之和 16位尋址 操作數在存儲器中 BX BP EA SI 位移量 DI 2 物理地址為 SI 16x Ds DI 位移量16x SS BP 位移量 BX 3 允許段超越 用于表格處理 EX MOVAX ES STRING DI 物理地址 16x ES DI STRING AHAL 30000H 35000H 34 12 OP Ex3 9 MOVAX COUNT SI MOVAX SI COUNT DS 3000H SI 2000HCOUNT 3000H 符號地址 物理地址 30000 2000 3000 35000H 35000H 1234H AX 1234H CS DS 00 30 位移量 count OP 32位尋址Ex MOVEAX TABLE ESI 寄存器相對尋址的功能 寄存器相對尋址的執(zhí)行 6 基址 變址尋址 1 操作數的EA是一個基址寄存器與一個變址寄存器內容之和 操作數在存儲器中16位尋址 其物理地址為 SI SI 16x Ds BX DI 16x SS BP DI 2 允許段超越 用于數組和表格處理EX MOVAX ES BX SI 段超越 34 12 DS 21000H 221FDH AHAL EX3 11 MOVAX BX DI 或MOVAX BX DI DS 2100H BX 0158H DI 10A5H物理地址 21000 0158 10A5 221FDH 221FDH 1234H AX 1234H 對于32位尋址方式 Ex MOVEDX EBX ESI 基址變址尋址的功能 基址變址尋址的執(zhí)行 7 相對基址 變址尋址 1 操作數的EA是一個基址寄存器 變址寄存器 指令中指定的位移量之和 操作數在存儲器中 2 16位尋址方式中 物理地址為 SI 16x Ds BX DI 位移量 SI 16x SS BP DI 位移量 3 允許段超越 用于堆棧處理 EX3 8 MOVAX MASK BX SI 或MOVAX MASK BX SI 或MOVAX MASK BX SI DS 3000H BX 2000H SI 1000HMASK 0250H物理地址 30000 2000 1000 0250 33250H 33250H 1234H AX 1234H 30000H 33250H 34 12 OP 50 02 位移量 mask cs ds AHAL 對于32位尋址方式 Ex MOVEAX ARRAY EBX ECX 相對基址變址尋址的功能 相對基址變址尋址的執(zhí)行 8 比例變址尋址方式操作數EA 變址寄存器的內容 指令中指定的比例因子 位移量Ex3 12 MOVEAX COUNT ESI 4 9 基址比例變址尋址方式操作數EA 基址寄存器的內容 變址寄存器的內容 指令中指定的比例因子Ex3 13 MOVECX EAX EDX 8 10 相對基址比例變址尋址方式操作數EA 基址寄存器的內容 變址寄存器的內容 指令中指定的比例因子 位移量Ex3 14 MOVEAX TABLE EBP EDI 4 3 2 3與轉移地址有關的尋址方式用來確定轉移指令和CALL指令的轉向地址 有效地址存入IP 段地址在CS中 1 段內直接尋址 1 EA 當前的 IP 8位偏移量用EA作為新的IP16位偏移量 2 用于有條件轉移D8無條件轉移D8 128 127SHORT 或D16 32768 32767NEAR ex JMPNEARPTRPROGA無條件轉移 D16JMPSHORTQUEST D8對于386及其后繼機型 EA放入EIP 偏移量是8位或32位 8位是短轉移 128 127 32位是近轉移 2G 2 段內間接轉移 1 EA 寄存器或存儲單元中的內容 用EA作為新的IP 2 不能用于條件轉移ex3 15 JMPBX BX 1256HEA BX 執(zhí)行后 BX不變 IP 1256H轉至CS 1256H執(zhí)行 ex3 16 JMPTABLE BX 等價于JMPWORDPTRTABLE BX 物理地址 16X DS BX TABLE 20000 1256 20A1 232F7H 232F7H 3280H 新的IP 轉至CS 3280H ex3 17JMP BX SI 基址變址尋址 物理地址 16X DS BX SI 20000 1256 528F 264E5H 264E5H 2450H 新的IP 轉至CS 2450H對于386及其后繼機型 可允許16位或32位尋址 ex3 18 JMPECXex3 19JMPWordPtrTable ESI 3 段間直接尋址 1 指令中提供了轉向的段地址和偏移地址 用于取代CS IP的內容 完成一個段到另一個段的轉移 2 不能用于條件轉移ex JMPFARPTRNEXTRONTfarptr 段間轉移操作符NEXTROUT 符號地址 IP CS的值跟在OP之后 OP 50 02 00 20 JMP指令 新 IP 0250H 新 CS 2000H C1段 C2段 20250H NEXTOUT 段間直接轉移 對于386及后繼機型 段間轉移后修改CS EIP的內容 4 段間間接轉移 1 用存儲器中兩個相繼字的內容取代IP CS的內容 完成段間轉移 先求PA 找出四個字節(jié)作為IP和CS的內容 轉移過去 2 不能用于條件轉移例 JMPDWORDPTRINTER BX Dwordptr 雙字操作符 段間轉移 386及其后繼機型可采用32位尋址 LessonP1073 43 53 8

注意事項

本文(X86的尋址方式和指令系統(tǒng).ppt)為本站會員(sh****n)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!