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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第3章80x86的指令系統(tǒng)(已修改)

2024-12-20 02:29 本頁面
 

【正文】 2022/1/4 第 1頁 80x86的尋址方式 程序占有的空間和執(zhí)行時(shí)間 80x86的指令系統(tǒng) 第三章 80X86的指令系統(tǒng) 2022/1/4 第 2頁 計(jì)算機(jī)中的 指令 由 操作碼字段 和 操作數(shù)字段 兩部分組成 .操作碼字段 指示計(jì)算機(jī) 所要執(zhí)行的操作 ,而 操作數(shù)字段則指出在指令執(zhí)行操作的過程中 所需要的操作數(shù) . 指令的一般格式 : 操作碼 操作數(shù) 操作數(shù)字段可以是一個(gè) ,兩個(gè)或三個(gè) ,多數(shù)指令為兩個(gè) .操作碼與操作數(shù)之間用空格隔開,多個(gè)操作數(shù)之間用“,”隔開。 單操作數(shù)指令就是一地址指令 , 如: INC AX 雙操作數(shù)指令就是二地址指令 , 如: MOV AX, [1000H] 2022/1/4 第 3頁 操作數(shù)的尋址方式 尋址方式 是用來確定操作數(shù)地址從而找到操作數(shù) ? 立即尋址方式 (immediate addressing) ? 寄存器尋址方式 (register addressing) ? 直接尋址方式 (direct addressing) ? 寄存器間接尋址方式 (register indirect addressing) ? 寄存器相對(duì)尋址方式 (register relative addressing) ? 基址變址尋址方式 (based indexed addressing) ? 相對(duì)基址變址尋址方式 (relative based indexed addressing) 80x86的尋址方式 2022/1/4 第 4頁 immediate addressing 例如: MOV AX, 3064H ;十六進(jìn)制數(shù) 3064H送入 AX。 低地址 AH AL AX 高地址 代碼段 CS 3 0 6 4 操作數(shù)直接存放在指令 中 ,緊跟在操作碼之后 ,它作為指令 一部分 存放在代碼段里 的 ,這種操作數(shù)稱為立即數(shù) ,立即數(shù) 可以是 8位的或 16位的 (二進(jìn)制代碼為 B86430H) 操作碼 B8 操作數(shù) 3064H B 8 6 4 3 0 指令執(zhí)行結(jié)果 :(AX)=3064H 2022/1/4 第 5頁 register addressing 操作數(shù) 存 放在 指令規(guī)定的 寄存器中 ,對(duì)于 16位操作數(shù) , 寄存器可以是AX,BX,CX,DX,SI,DI,SP或 BP。 而對(duì) 8位操作數(shù) ,寄存器可以是 AH,AL,BH, BL,CH,CL, DH或 DL。 X X X X 3 0 6 4 AX BX 例如 : MOV AX, BX 3 0 6 4 代碼段 CS 低地址 高地址 操作碼 8 9 D 8 指令執(zhí)行結(jié)果 :(AX)=3064H 2022/1/4 第 6頁 立即數(shù)尋址和寄存器尋址 ,操作數(shù)放在代碼段 CS中但 更多的情況操作數(shù)放在除代碼段以外的存儲(chǔ)區(qū)中 ,通過不 同的尋址方式求得操作數(shù)的地址 ,從而取得操作數(shù) .操作數(shù) 的 物理地址 (physics address,PA)由 段基地址 和 偏移地址 確 定 .在實(shí)地址模式下段地址由段寄存器提供,那么 如何取得偏移地址 呢? 偏移地址 又稱為 有效地址 (effective address,EA),可以由以 下幾種成分組成。 位移量 (displacement)是存放在指令中的一個(gè) 8位或 16位的數(shù),但它不是立即數(shù),而是地址。 基址 (base)是存放在基址寄存器中的內(nèi)容。它是有效地址中的基址部分。 變址 (index)是存放在變址寄存器中的內(nèi)容。 有效地址 EA =基址 +變址 +位移量 2022/1/4 第 7頁 16位尋址時(shí)有效地址的組成 默認(rèn)段的選擇規(guī)則 組成成分 16位尋址 位移量 0,8,16位 基址寄存器 BX,BP 變址寄存器 SI,DI 訪問類型 所用段及段寄存器 缺省選擇規(guī)則 指 令 代碼段 CS寄存器 用于取指 堆 棧 堆棧段 SS寄存器 所有的堆棧的進(jìn)棧和出棧 局部數(shù)據(jù) 數(shù)據(jù)段 DS寄存器 除相對(duì)于堆棧以及串處理指令 的目的串以外的所有數(shù)據(jù)訪問 目的串 附加數(shù)據(jù)段 ES寄存器 串處理指令的目的串 2022/1/4 第 8頁 3. 直接尋址 direct addressing 將數(shù)據(jù)段有效地址 EA=2022H字單元內(nèi)容送入 AX。 3000H 50H AX DS 3000 H + 2022H 操作碼 00H 20H 50H 32022H 例如: MOV AX, [2022H] 32022H AH AL 0 操作數(shù)的有效地址只包含位移量一種成分 30H 30H 代 碼 段 CS 數(shù) 據(jù) 段 DS 存儲(chǔ)器 32022H 30000H 2022H 指令執(zhí)行結(jié)果 : EA=2022H PA=16d*(DS)+EA =30000H+2022H =32022H (AX)=(32022H)=3050H 2022/1/4 第 9頁 (register indirect addressing 例如: MOV AX, [BX] 。BX內(nèi)容為有效地址 EA(偏移量 ) 操作數(shù)的有效地址在某個(gè)寄存器中 ,而操作數(shù)在存儲(chǔ)器中 . 16位尋址可用的寄存器是 BP,BX,SI, BP時(shí) ,默認(rèn)段 寄存器是 SS,其他寄存器默認(rèn)段寄存器為 DS. 2022H A0 AX 2022 H + 1000H 操作碼 07H A0H 21000H 21000H AH AL 0 50H 50 代 碼 段 CS 數(shù) 據(jù) 段 DS 存儲(chǔ)器 21001H 20220H 1000H 1000H DS BX 指令執(zhí)行結(jié)果 : (AX)=(21000H)=50A0H EA= (BX) PA= 16d (DS)+EA = 20220H+1000H = 21000H 2022/1/4 第 10頁 例如: MOV AX, [BP] 。BP內(nèi)容為有效地址 EA(偏移量 ) 5000H AB AX 5000 H + 1000H 操作碼 操作碼 00H AB H 51000H 51000H AH AL 0 56H 56 代 碼 段 CS 堆 棧 段 SS 存儲(chǔ)器 51001H 50000H 1000H 1000H SS BP 指令執(zhí)行結(jié)果 : (AX)=(51000H)=56ABH EA=(BP) PA=16d (SS)+EA =50000H+1000H =51000H 2022/1/4 第 11頁 5. 寄存器相對(duì)尋址方式 register relative addressing 操作數(shù)的有效地址為基址寄存器或變址寄存器的內(nèi)容和 指令中指定的位移量之和 .操作數(shù)在存儲(chǔ)器中 例如 :MOV AX, COUNT[SI]。count 為 16位位移量的符號(hào)地址 3000H 34 AX 3000 H + 2022H 操作碼 操作碼 00H 34H 35000H 3000H AH AL 0 12H 12 代 碼 段 CS 數(shù) 據(jù) 段 DS 存儲(chǔ)器 35001H 30000H 5000H 2022H 指令執(zhí)行結(jié)果 : (AX)=(35000H )=1234H DS SI Count=3000H 35000H 30H 位移量 count MOV AX, [COUNT+SI] EA=(SI)+Count PA=16d (DS)+EA =30000H+5000H =35000H 2022/1/4 第 12頁 操作數(shù)的有效地址是一個(gè)基址寄存器和一個(gè)變址寄存器的 內(nèi)容之和 例 :MOV AX,[BX][DI] ?;?qū)懗? MOV AX,[BX+DI] 2100H 34 AX 0158H + 10A5H 操作碼 操作碼 34H 221FDH EA= 11FDH AH AL 0 12H 12 代 碼 段 CS 數(shù) 據(jù) 段 DS 存儲(chǔ)器 221FEH 21000H 11FDH 0158H 指令執(zhí)行結(jié)果 : (AX)=(221FDH )=1234H 2100 H DS BX 10A5H DI 11FD H PA=221FD H + EA=(BX)+(DI) =11FDH PA=16d (DS)+EA =21000H+11FDH =221FDH 2022/1/4 第 13頁 7. 相對(duì)基址變址尋址 relative based indexed addressing 操作數(shù)的有效地址是一個(gè)基址寄存器與一個(gè)變址寄存器的 內(nèi)容和指令中指定的位移量之和 .EA由三部分組成 . 例 :MOV AX, MASK[BX][SI]。MASK 為 16位位移量的符號(hào)地址 3000H 34 AX 3000 H + 1000H 操作碼 操作碼 00H 34H 33250H 2022H AH AL 0 12H 12 代 碼 段 CS 數(shù) 據(jù) 段 DS 存儲(chǔ)器 33251H 30000H 3250H 1000H 指令執(zhí)行結(jié)果 : (AX)=1234H DS SI MASK=0250H 0250H 30H 位移量 count 2022H BX PA= 33250H PA=16d (DS)+EA EA= (BX)+(SI)+MASK 2022/1/4 第 14頁 與轉(zhuǎn)移地址有關(guān)的尋址方式 1. 段內(nèi)直接尋址 (intrasegment direct addressing) 2. 段內(nèi)間接方式 (intrasegment indirect addressing) 3. 段間直接尋址 (intersegment direct addressing) 4. 段間間接方式 (intersegment indirect addressing) 這種尋址方式用來確定 轉(zhuǎn)移指定 及 CALL指令 的 轉(zhuǎn)向地址 2022/1/4 第 15頁 intrasegment direct addressing 位移量 當(dāng)前 IP值 + EA 轉(zhuǎn)向的有效地址是當(dāng)前 IP寄存器的內(nèi)容和指令中的 8位或 16位位移量之和 . 在同一個(gè) 代碼段 CS中 ,只修改 IP, 用指令形成的 EA代替新的 IP值 . 它用于條件轉(zhuǎn)移指令時(shí) ,位移量只 允許 8位 。用于無條件轉(zhuǎn)移指令時(shí) , 位移量可為 8位 (稱 短跳轉(zhuǎn) short), 位移量可為 16位 (稱 近跳轉(zhuǎn) near). 指令的匯編語言格式表示為 : JMP NEAR PTR PROGIA JMP SHORT QUEST 其中 PROGIA 和 QUEST 為符號(hào)地址 . 。NEAR PTR PROGIA 16位位移量 。 SHORT QUEST 8位位移量 2022/1/4 第 16頁 intrasegment indirect addressing 轉(zhuǎn)向的 有效地址 是一個(gè)寄存器或是一個(gè)存儲(chǔ)單元的 內(nèi)容 .該 內(nèi)容 作為 EA用來取代新的 IP的值 . JMP BX。 CS不變 ,(IP)=(BX) JMP WORD PTR[BP+TABLE] 設(shè) (DS)=2022H,(BX)=1256H,(SI)=528FH,TABLE=20A1H (232F7H)=3280H,(264E5H)=2450H 例 1:JMP BX 。(IP)=1256H 例 2:JMP TABLE[BX] 16
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1