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

正文內(nèi)容

第3章80x86指令系統(tǒng)及匯編語言(存儲版)

2025-11-08 16:17上一頁面

下一頁面
  

【正文】 。 例如: NEG AL NEG MULRE 第 3章 80X86指令系統(tǒng)及匯編語言 (5) CMP OPRD1, OPRD2 該指令為比較指令 , 與減法指令一樣執(zhí)行 OPRD1- OPRD2操作 , 但相減后不回送結(jié)果 , 只是根據(jù)相減結(jié)果修改標(biāo)志位 。 (1)無符號數(shù)乘法指令 MUL 該指令的一般格式為: MUL OPRD; OPRD為源操作數(shù) 例: 字節(jié)乘以字節(jié) MOV AL, LSRC BYTE;被乘數(shù)送 AL MUL RSRC BYTE;結(jié)果存于 AX中 第 3章 80X86指令系統(tǒng)及匯編語言 字乘以字 MOV AX, LSRC WORD;一個字送 AX MUL RSRC WORD;結(jié)果的高字節(jié)在 DX中 , 低字節(jié)在 AX中 字節(jié)乘以字 MOV AL, MUL BYTE;字節(jié)被乘數(shù)送入 AL CBW; AL中字節(jié)轉(zhuǎn)換成 AX中的字 MUL RSRC WORD 第 3章 80X86指令系統(tǒng)及匯編語言 (2) 帶符號數(shù)乘法指令 IMUL 這是一條帶符號數(shù)的乘法指令 , 它和 MUL一樣可以進(jìn)行字節(jié)和字節(jié) 、 字和字的乘法運(yùn)算 。 AAA——對 AL中 ASCII未壓縮的十進(jìn)制和進(jìn)行調(diào)整; AAS——對 AL中 ASCII未壓縮的十進(jìn)制差進(jìn)行調(diào)整; AAD——在除法指令前對 AX中 ASCII未壓縮的十進(jìn)制數(shù)進(jìn)行調(diào)整; AAM——對 AX中兩個 ASCII未壓縮十進(jìn)制相乘結(jié)果進(jìn)行調(diào)整; DAA——對 AL中的兩個壓縮十進(jìn)制數(shù)相加之和進(jìn)行調(diào)整 , 得到壓縮十進(jìn)制和; DAS—— 對 AL中的兩個壓縮十進(jìn)制數(shù)相減之差進(jìn)行調(diào)整,得到壓縮十進(jìn)制差。 AND指令可以進(jìn)行字節(jié)操作 , 也可以進(jìn)行字操作 。 OR指令使標(biāo)志位 CF= 0, OF= 0;相 “ 或 ” 操作的結(jié)果反映在標(biāo)志位 PF、 SF和 ZF上;對 AF標(biāo)志位未定義 。 該指令可以執(zhí)行由 m所指定的移位次數(shù) 。 第 3章 80X86指令系統(tǒng)及匯編語言 (3)RCL指令 該指令是把標(biāo)志位 CF包含在內(nèi)的循環(huán)左移指令。 當(dāng)某一條串指令需要多次重復(fù)時 , 就可以加上該前綴 。 LEA DI, ES: DEST LEA SI, SOURCE MOV CX, 500 CLD REPE CMPB JZ NEXT MATCH: DEC SI MOV AL, BYTEPTR[ SI] NEXT … 第 3章 80X86指令系統(tǒng)及匯編語言 程序控制指令 程序控制指令主要是指程序轉(zhuǎn)移指令 。短程轉(zhuǎn)移 JMP SHORT OPRD 短程轉(zhuǎn)移中目的地址與 JMP指令所處地址的距離應(yīng)在- 128~+ 127范圍之內(nèi) 。 由于過程有段間 (即遠(yuǎn)程 FAR)和段內(nèi)調(diào)用 (即近程N(yùn)EAR)之分 , 所以 CALL也有 FAR和 NEAR之分 , RET也分段間和段內(nèi)返回兩種 。 第 3章 80X86指令系統(tǒng)及匯編語言 1. 直接尋址 輸入輸出指令中直接給出一個字節(jié)表示的接口地址 。 (3)存貯器尋址方式 第 3章 80X86指令系統(tǒng)及匯編語言 按照 80386系統(tǒng)的存貯器組織方式 , 邏輯地址由選擇子和偏移量組成 。比例因子:變址寄存器的值可以乘以一個比例因子 ,根據(jù)操作數(shù)的長度可為 1字節(jié) 、 2字節(jié) 、 4字節(jié)或 8字節(jié) ,比例因子相應(yīng)地可為 1, 2, 4或 8。 第 3章 80X86指令系統(tǒng)及匯編語言 例: IMUL EBX, [ ESI 4] , 7; ESI的內(nèi)容乘以 4再加 7形成有效地址 (6)基址變址尋址方式 基址寄存器的內(nèi)容加變址寄存器的內(nèi)容組成有效地址 。 例: MOV ECX, [ EAX+ 24] ;由 EAX中內(nèi)容 加 24組成有效地址 (4)變址尋址方式 變址寄存器的內(nèi)容和位移量相加形成有效地址 。變址:除了 ESP寄存器外 , 任何通用寄存器都可以作為變址寄存器 , 其內(nèi)容即為變址值 。 (1)寄存器尋址方式 在這種尋址方式 , 操作數(shù)放在 32位 、 16位或 8位的通用寄存器中 。 1. 標(biāo)志位操作指令 STC ;使 CF=1 CLC ;使 CF=0 CMC ;使 CF取反 STD ;使 DF=1 CLD ;使 DF=0 STI ;使 IF=1 CLI ;使 IF=0 第 3章 80X86指令系統(tǒng)及匯編語言 2. 外部同步指令 (1)暫停指令 HLT (2)空操作指令 NOP (3)等待指令 WAIT (4)封鎖總線指令 LOCK (5)處理器交權(quán)指令 ESC 第 3章 80X86指令系統(tǒng)及匯編語言 輸入輸出指令 輸入指令的一般格式為: IN ACC, PORT 它完成從接口到 CPU的輸入操作 。段內(nèi)間接轉(zhuǎn)移 JMP WORD PTR OPRD 當(dāng)程序執(zhí)行到 JMP指令時 , 就無條件地轉(zhuǎn)移到指令中所指示的目的地址 。 第 3章 80X86指令系統(tǒng)及匯編語言 例:數(shù)據(jù)段中地址 BUFFER1開始的字符串 , 長度為 1000字節(jié) , 將其傳送到附加段中地址 BUFFER2開始的數(shù)據(jù)區(qū) 。 串裝入指令的一般格式為: LODS OPRD ; OPRD為源串 LODSB ;字節(jié)操作 LODSW ;字操作 第 3章 80X86指令系統(tǒng)及匯編語言 5. STOS/ STOSB/ STOSW 該類指令是字串存貯指令 。 這可以用來判別移位前后操作數(shù)的符號是否有改變 。 右移一位相當(dāng)于除以 2, 例如: MOV AL, 16 SAR AL, 1 ;執(zhí)行后 , AL的內(nèi)容為 8( 相當(dāng)于 除以 2) 第 3章 80X86指令系統(tǒng)及匯編語言 (3) SHR指令 該指令每執(zhí)行一次移位操作 , 就使操作數(shù)右移一位 , 最低位移至標(biāo)志位 CF中 。OR指令操作結(jié)果將送回 。 即只有參加相與的兩位全為 “ 1”時 , 相 “ 與 ” 結(jié)果才為 “ 1”;否則相 “ 與 ” 結(jié)果為 “ 0”。 執(zhí)行除法后 , 余數(shù)符號與被除數(shù)相同 , 其他同 DIV指令 。 第 3章 80X86指令系統(tǒng)及匯編語言 例如 , 若自 BLOCK開始的內(nèi)存緩沖區(qū)中 , 有 100個帶符號的數(shù) , 希望找到其中最大的一個值 , 并將它放到 MAX單元中 。 減 1操作時 ,把操作數(shù)看作為無符號的二進(jìn)制數(shù) 。 1. 加法指令 (1)ADD OPRD1, OPRD2 這條指令完成兩個操作數(shù)相加 , 結(jié)果送至目的操作數(shù) OPRD1, 即: OPRD1←OPRD 1+ OPRD2 第 3章 80X86指令系統(tǒng)及匯編語言 具體地說 , 該指令可以實(shí)現(xiàn)累加器與立即數(shù) 、 累加器與任一通用寄存器 、 累加器與存貯單元內(nèi)容相加 ,其和放回累加器中 。 ④ DL→(SP) 。 (3) LES指令 這條指令除將地址指針的段地址送入 ES外,其他操作與 LDS的類似。 ④ 目的操作數(shù)不能為 CS、 IP。 第 3章 80X86指令系統(tǒng)及匯編語言 圖 MOV的數(shù)據(jù)傳送方向 段寄存器C S , D S , S S , E S通用寄存器A X , B X , C X , D X , B P , S P , S I , D IA H , A L , B H , B L , C H , C L , D H , D L立即數(shù) 存貯器第 3章 80X86指令系統(tǒng)及匯編語言 各種數(shù)據(jù)傳送指令例舉如下: ① 在 CPU各內(nèi)部寄存器之間傳送數(shù)據(jù) 。邏輯運(yùn)算和移位指令 例: JMP FARPTRADD1 在執(zhí)行這條段間直接尋址指令時 , 指令操作碼后的第二個字將賦予代碼段寄存器 CS, 第一個字將賦予指令指針寄存器 IP。 第 3章 80X86指令系統(tǒng)及匯編語言 1. 段內(nèi)相對尋址 在段內(nèi)相對尋址方式中 , 指令應(yīng)指明一個 8位或 16位的相對地址位移量 DISP(有正負(fù)符號 , 用補(bǔ)碼表示 )。 同理 , 若用 BX作為基地址 , 則操作數(shù)應(yīng)放在數(shù)據(jù)段 DS區(qū)域中;若用 BP作為基地址 , 則操作數(shù)應(yīng)放在堆棧段 SS區(qū)域中 。 例: MOV AX,[ BP] 其過程如圖 (b)所示。指令中的 16位段內(nèi)偏移地址的低字節(jié)在前,高字節(jié)在后。 1. 立即尋址 立即尋址方式所提供的操作數(shù)直接包含在指令中 。 寄存器可以是 16位寄存器,也可以是 8位寄存器。 在一般情況下 , 若用 SI、 DI或 BX進(jìn)行相對尋址時 ,以數(shù)據(jù)段寄存器 DS作為地址基準(zhǔn) , 而用 BP尋址時 , 則以堆棧段寄存器作為地址基準(zhǔn) 。 即操作數(shù)的地址是由基址 、 變址方式得到的地址再加上由指令指明的 8位或 16位的相對偏移地址而得到的 。 第 3章 80X86指令系統(tǒng)及匯編語言 圖 段內(nèi)相對尋址 操作碼..50H......2020 ∶ 1 0 5 0 H+ 5021050CS 20201000IP+操作碼2020 ∶ 1 0 0 0 H2020 ∶ 0 F F F H第 3章 80X86指令系統(tǒng)及匯編語言 2. 段內(nèi)間接尋址 在段內(nèi)間接尋址方式中 , 轉(zhuǎn)移地址的段內(nèi)偏移地址要么存放在一個 16位的寄存器中 , 要么存放在存貯器的兩個相鄰單元中 。 但是 ,由于確定轉(zhuǎn)移地址需要 32位信息 , 因此段間間接尋址只適用于存貯器尋址方式 。處理器控制指令 程序如下: MOV SI, OFFSET AREA1 MOV DI, OFFSET AREA2 MOV CX, 100 AGAIN: MOV AL, [ SI] MOV[ D1] , AL INC S
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1