freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學]第三章 80x86的指令系統(tǒng)和尋址方式-文庫吧

2025-01-04 12:10 本頁面


【正文】 該指令也可以寫成 : MOV AX, 3000H[SI]; SI值與 3000H偏移值相加形成 EA與 MOV AX, 3000H+[SI]和 MOV AX, [3000H+SI]等價。 即: MOV AX, disp[SI] MOV AX, [SI]+disp MOV AX, [SI+disp] 這三種寫法是等價的 。 匯編語言程序設計 寄存器相對尋址方式舉例 例:有指令 MOV COUNT[BP],AX,假設 COUNT是符號地址 (變量),是用偽指令定義的: COUNT DW 8000H;假設系統(tǒng)為COUNT分配的偏移地址為 0002H,根據(jù)定義 [0002H]=8000H; 假設: BP=2022H,SS=3000H. 匯編語言程序設計 需要注意的問題 1)寄存器相對尋址的有效地址(偏移量)是由兩部分組成( SI或 DI或 BX+disp)隱含為數(shù)據(jù)段 DS. 2)有效地址(偏移量)為 BP+ disp隱含為堆棧段 SS 3)位移量 disp是 8位位移量或 16位位移量,是以補碼的形式存放的, disp也可以以符號常量或符號地址(變量)形式出現(xiàn)在指令中。 4)段地址隱含只有 DS, SS。允許段超越,如:MOV AX,ES:COUNT[SI] 匯編語言程序設計 基址變址尋址方式 基址加變址尋址方式的操作數(shù)的有效地址 EA是由兩個寄存器內(nèi)容相加組成 , 即 , 一個基址寄存器( BX或 BP) 的內(nèi)容加上一個變址寄存器 ( SI, DI)的內(nèi)容為有效地址 ( 偏移地址 ) , 與段寄存器( DS, SS) 的組合為操作數(shù)物理地址 。 操作數(shù)有效地址 EA等于一個基址寄存器和變址寄存器之和: EA= BX + SI或 DI ;隱含在數(shù)據(jù)段中 EA= BP + SI或 DI ;隱含在堆棧段中 基址變址尋址方式的物理地址計算方法: 物理地址 = DS 16 + BX + SI( 或 DI) 物理地址 = SS 16 + BP + SI ( 或 DI) 匯編語言程序設計 基址變址尋址方式舉例 例: 有指令 MOV AX, [BX][DI]。 假設: BX=3000H,DS=3000H, DI=1000H 則該指令的尋址方式和傳送過程如圖所示 。 匯編語言程序設計 需要注意的問題 1)基址加變址尋址方式的偏移量由兩部分組成:基址寄存器( BX,BP)和變址寄存器( SI,DI). 2)基址寄存器 BX隱含段寄存器 DS,基址寄存器 BP隱含段寄存器 SS. 3)允許超越段顯示說明。 如: MOV AX,ES:[BX][SI] 或 MOV AX,ES:[BX+ SI] 匯編語言程序設計 相對基址變址尋址方式 相對基址變址尋址方式是在基址加變址尋址方式中的有效地址再加一個偏移值 , 即把一個基址寄存器 ( BX, BP) 的內(nèi)容加上一個變址寄存器 ( SI,DI) , 再加上指令中 8位或 16位位移量與段寄存器( DS, SS) 的組合為操作數(shù)地址 。 匯編語言程序設計 相對基址變址尋址方式 相對基址變址尋址方式的物理地址的計算方法: 物理地址 =DS 16+ BX + SI( 或 DI) + disp 物理地址 =SS 16+ BP + SI( 或 DI) + disp 其中 disp為 8或 16位位移量 。 例如: MOV AX, disp[BX][SI] MOV AX, [BX+SI]+disp MOV AX, [BX+SI+disp] 匯編語言程序設計 相對基址變址尋址方式舉例 例: 有指令 MOV AX, [MASK+BX+SI];在執(zhí)行該指令之前 假設: BX=1000H, DS=3000H,SI=3000H, MASK=0250H。 匯編語言程序設計 尋址方式總結(jié) 源操作數(shù)尋址方式 指令格式舉例 源操作數(shù)物理地址的計算方法 立即尋址方式 MOV AX,2022H 無 寄存器尋址方式 MOV AX,BX 無 直接尋址方式 MOV AX,[2022H] DS 10H+2022H 寄存器間接尋址方式 MOV AX,[BX] MOV AX,[BP] DS 10H+BX(SI或 DI) SS 10H+BP 寄存器相對尋址方式 MOV AX,disp[BX] MOV AX,disp[BP] DS 10H+BX (SI或 DI) +disp SS 10H+BP +disp 基址變址尋址方式 MOV AX,[BX+DI] MOV AX,[BP+DI] DS 10H+BX +DI (或 SI ) SS 10H+BP + DI (或 SI ) 相對基址變址尋址方式 MOV AX, disp[BX+DI] MOV AX, disp[BP+DI] DS 10H+BX +DI(或 SI ) +disp SS 10H+BP +DI(或 SI ) +disp 匯編語言程序設計 課堂練習 已知 (CS)=0A00H, (DS)=0B00H, (SI)=0100H,(DI)=0200H, (BX)=0300H。指出下列指令中源操作數(shù)的尋址方式,并計算③ ⑦ 小題操作數(shù)的物理地址。 ① MOV AX, 1234H ② MOV AX, BX ③ MOV AX, [SI] ④ MOV AX, [1234H] ⑤ MOV AX, [BX+400H] ⑥ MOV AX, [BX+SI] ⑦ MOV AX, [BX+DI+0400H] 匯編語言程序設計 課堂練習 說明下列指令中源操作數(shù)的尋址方式。 (X1為內(nèi)存變量, VALUE為常量) (1) MOV AX,100 (2) MOV AX,BX (3) MOV AX,[BX][SI] (4)MOV BX,[BP] (5)MOV AX,VALUE[BX][DI] (6) MOV AX,X1 (7)MOV CX,VALUE[BX] 匯編語言程序設計 32位 CPU的尋址方式 32位微處理器的尋址方式是指 80386以上的微處理器提供的尋址方式 , 在 80386以上的微處理器中 , 擴展的 32位寄存器是 EAX、 EBX、 ECX、 EDX、 ESP、EBP、 EDI、 ESI。 其中 32位基址寄存器是 8個: EAX、 EBX、 ECX、 EDX、 ESP、 EBP、 EDI、 ESI 32位變址寄存器是 7個: EAX、 EBX、 ECX、 EDX、 EBP、 EDI、 ESI; 上述 7種尋址方式對于 32位以上的機器是支持的 。 匯編語言程序設計 32位 CPU的尋址方式 32位 CPU的 7種尋址方式 對于前面討論的 7種尋址方式也可以用 32寄存器來完成 。 例: 32位數(shù)據(jù)尋址方式舉例 。 MOV EAX, 3000H ;源操作數(shù)為立即尋址 MOV EBX, [2022H];源操作數(shù)為直接尋址 , 數(shù)據(jù)位于數(shù)據(jù)段 DS中 MOV EDX, EAX ;寄存器直接尋址 匯編語言程序設計 32位 CPU的尋址方式舉例 MOV AL, ES: [EBX] ; 源操作數(shù)為寄存器間接尋址 ,數(shù)據(jù)位于附加段 ES中 MOV DI, [EAX+2022H] ;源操作數(shù)為寄存器相對尋址方式 , 默認數(shù)據(jù)位于數(shù)據(jù)段 DS中 MOV CX, [EAX+EBX] ;源操作數(shù)為基址加變址尋址方式 , 默認數(shù)據(jù)位于數(shù)據(jù)段 DS中 MOV SI, 2022H[EAX+EBX+2] ;源操作數(shù)為相對基址變址尋址方式 , 默認數(shù)據(jù)位于數(shù)據(jù)段 DS中 上述 32位數(shù)據(jù)的尋址是在實模式下的尋址 , 因此數(shù)據(jù)是按要求默認在數(shù)據(jù)段內(nèi) 。 值得注意的是基址寄存器不僅僅限于 EBX和 EBP, 變址寄存器也不僅僅限于 ESI和 EDI。 匯編語言程序設計 比例變址尋址 比例變址尋址方式的物理地址的計算方法: 邏輯地址 = DS :基址寄存器 +比例因子 變址寄存器 + disp 邏輯地址 = SS :基址寄存器 ( ESP或 EBP) +比例因子 變址寄存器 + disp 其中:基址寄存器 8個: EAX、 EBX、 ECX、 EDX、 ESP、EBP、 EDI、 ESI。 變址寄存器是 7個: EAX、 EBX、 ECX、 EDX、 EBP、 EDI、ESI。 比例因子 : 8, 隱含為 1。 disp:為 16 位位移量 。 當基址寄存器為 ESP或EBP時 , 操作數(shù)隱含在堆棧段中 匯編語言程序設計 32位 CPU的尋址方式舉例 例:比例變址尋址舉例 , 讀下列匯編程序段 , 計算EAX和 EBX的最終結(jié)果 。 MOV EAX, 3000H MOV EDX, 2022H MOV ESP, 1000H MOV EBP, 5000H MOV EBX,[EAX+2*EDX] ;源操作數(shù)為比例變址尋址 , 隱含數(shù)據(jù)段 ;邏輯地址為 DS: EAX+2*EDX= DS: 7000H MOV EAX [ESP+2*EBP+2022H] ;源操作數(shù)為比例變址尋址 , 隱含堆棧段;邏輯地址為 DS:ESP+2*EBP+2022H = SS: D000H 匯編語言程序設計 需要注意的問題 1) 對于 32位基址寄存器為 8個: EAX、 EBX、 ECX、 EDX、ESP、 EBP、 EDI、 ESI。 32位變址寄存器是 7個: EAX、 EBX、 ECX、 EDX、 EBP、EDI、 ESI。 2) 在比例變址尋址的有效地址格式: 基址寄存器 +比例因子 變址寄存器 + disp 根據(jù)書寫順序 , 寫在前面的 32位寄存器為基址寄存器寫在后面的 32位寄存器為變址寄存器 。 3) 默認段寄存器取決于基址寄存器 , 當基址寄存器為 EAX、 EBX、 ECX、 EDX、 EDI、 ESI默認數(shù)據(jù)段 DS,當基址寄存器為 ESP、 EBP時 , 默認堆棧段 SS。 允許段超越 。 匯編語言程序設計 課堂練習 指出下列各條指令中源操作數(shù)的尋址方式 ( 1) MOV AX, 56E1H ( 2) MOV AX, BX ( 3) MOV CX, [1000H] ( 4) MOV DX, BX ( 5) MOV AX, [BX+5] ( 6) MOV AL, COUNT[SI] ( 7) MOV AX, [BP+SI] ( 8) MOV BX, [BX][DI] 匯編語言程序設計 課堂練習 假定 (DS)=2022H, (ES)=2100H, (SS)=1500H (SI)=00A0H, (BX)=0100H, (BP)=0100H ,變量 VAL的偏移地址為 0050H,試指出下列指令中源操作數(shù)的尋址方式和物理地址。 ( 1) MOV AX, 0BAH ( 2) MOV AX, [100H] ( 3) MOV AX, VAL ( 4) MOV AX, ES:[BX] ( 5) MOV AX, [BP] ( 6) MOV AX, BP ( 7) MOV AX, VAL[SI] ( 8) MOV AX, VAL[BX][SI] 匯編語言程序設計 80X86指令系統(tǒng) 80X86指令系統(tǒng)按功能分為以下幾大類: 數(shù)據(jù)傳送指令 算術(shù)運算指令 位操作指令 串操作指令 轉(zhuǎn)移指令 標志處理指令 處理器控制指令等 匯編語言程序設計 數(shù)據(jù)傳送指令 1. 通用數(shù)據(jù)傳送指令 MOV 數(shù)據(jù)傳送 MOVSX帶符號擴展傳送 MOVZX 帶零擴展傳送 PUSH進棧 POP出棧 PUSHA/PUSHAD所以寄存器進棧 POPA/POPAD所以寄存器出棧 XCHG交換 匯編語言程序設計 MOV指令 指令格式: MOV DST, SRC 其中: DST:目的操作數(shù)可以是存儲器、通用寄存器、段寄存器( CS除外)操作數(shù); SRC:源操作數(shù)可以是立即數(shù)、存儲器 、通用寄存器、段寄存器(包括 CS)操作數(shù)。 執(zhí)行操作: DST ← SRC ; 指令功能:把一個字節(jié)或字或雙字從源操作數(shù)送目的操作數(shù)。 匯編語言程序設計 MOV指令用法 匯編語言程序設計 需要注意的問題
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1