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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]asm0380x86的指令系統(tǒng)和尋址方式(已修改)

2024-12-20 02:20 本頁(yè)面
 

【正文】 1 IBM PC機(jī)的指令系統(tǒng) ? 數(shù)據(jù)傳送 指令 ? 算術(shù) 指令 ? 邏輯 指令 ? 串處理 指令 ? 控制轉(zhuǎn)移 指令 ? 處理機(jī)控制 指令 注意: 1. 指令的 基本功能 2. 指令的執(zhí)行 對(duì)標(biāo)志位的影響 3. 對(duì) 尋址方式或寄存器使用的限制和隱含使用 學(xué)習(xí)方法: ,上機(jī)調(diào)試 要求: 熟悉 debug的使用 2 數(shù)據(jù)傳送指令 ? 通用數(shù)據(jù)傳送 指令 MOV、 PUSH 、 POP、 PUSHA/PUSHAD、 POPA/POPAD、 XCHG ? 累加器專用傳送 指令 IN 、 OUT、 XLAT ? 地址傳送 指令 LEA、 LDS 、 LES ? 標(biāo)志寄存器傳送 指令 LAHF、 SAHF、 PUSHF、 POPF ? 類型轉(zhuǎn)換 指令 CBW、 CWD、 CWDE、 CDQ、 BSWAP 3 ? 通用數(shù)據(jù)傳送指令 ? 傳送指令 : MOV DST, SRC 執(zhí)行操作: (DST) ? (SRC) ? 符號(hào)擴(kuò)展 傳送指令 : MOVSX DST(16/32), SRC(8/16) 執(zhí)行操作: (DST) ? 符號(hào)擴(kuò)展 (SRC) ? 零擴(kuò)展 傳送指令 : MOVZX DST(16/32), SRC(8/16) 執(zhí)行操作: (DST) ? 零擴(kuò)展 (SRC) 注意 : * 不影響標(biāo)志位 * DST不能是 CS或 立即數(shù) * DST、 SRC不同時(shí)為段寄存器 ? MOV DS, ES * DST、 SRC不同時(shí)為存儲(chǔ) 單元 ? MOV VAR1, X * 立即數(shù) 不能直接送 段寄存器 ? MOV DS, 2022H MOV指令傳送功能 立即數(shù) 段寄存器 CS DS ES SS 通用寄存器 AX BX CX DX BP SP SI DI 存 儲(chǔ) 器 MOV DS, AX MOV CS, AX MOV CH, 4050H MOV DL, 5BH MOV DX, 5BH MOV DX, AL MOV VA1, VA2 MOV 45, DL ? ? 目的操作數(shù)不允許是 CS寄存器 ? 數(shù)據(jù)類型不匹配 ? ? ? 數(shù)據(jù)類型不匹配 ?不允許兩個(gè)操作數(shù)都是存儲(chǔ)單元 ?目的操作數(shù)不允許是立即數(shù) 例:判斷下列指令是否合法? 堆棧: “ 先進(jìn)后出 ” 的存儲(chǔ)區(qū) , 存在于堆棧段中 , SP在任何時(shí)候都指向棧頂 。 堆棧常用來臨時(shí)存放數(shù)據(jù) 、 傳遞參數(shù) 、 保存和恢復(fù)寄存器 。 PUSH操作使棧頂向低地址方向移動(dòng) , POP則相反 。 ?進(jìn)棧指令 : PUSH SRC 語 法格式: PUSH reg16/seg/mem16/ reg32/mem32 PUSH data 。 286新增 功 能描述: 將指定的字?jǐn)?shù)據(jù)壓入棧頂 ? 16位指令執(zhí)行操作: (SP) ? (SP) – 2 ((SP)+1, (SP)) ? (SRC) ? 32位指令執(zhí)行操作: (ESP) ? (ESP) – 4 ((ESP)+3, (ESP)+2, (ESP)+1, (ESP)) ? (SRC) 7 例: 假設(shè) (AX) = 2107 H , 執(zhí)行 PUSH AX ( SP) ? 低地址 高地址 ( SP) ? 07H 21H 低地址 高地址 進(jìn)棧方向 * * * * * * * * PUSH AX 執(zhí)行前 PUSH AX 執(zhí)行后 演示 ?出棧指令 : POP DST 語 法格式: POP reg16/seg/mem16/ reg32/mem32 。 操 作數(shù)不能是 CS 功 能描述: 將棧頂字?jǐn)?shù)據(jù)彈出堆棧 ? 16位指令執(zhí)行操作: (DST) ? ( (SP)+1, (SP)) (SP) ? (SP) + 2 ? 32位指令執(zhí)行操作: (DST) ? ((ESP)+3, (ESP)+2, (ESP)+1, (ESP)) (ESP) ? (ESP) + 4 注意 : * 不影響標(biāo)志位 * 堆棧操作必須以 字 或 雙字 為單位 。 9 例: POP BX ( SP) ? 低地址 高地址 ( SP) ? 07H 21H 低地址 高地址 出棧方向 07H 21H (BX) = 2107H POP BX 執(zhí)行前 POP BX 執(zhí)行后 * * * * * * * * 演示 10 PUSHA 將 AX, CX, DX, BX, 指令執(zhí)行前的 SP, BP, SI, 和 DI依次壓入堆棧 。 POPA 從堆棧依次彈出 DI, SI, BP, SP, BX, DX, CX, 和 AX 寄存 器 。 PUSHAD/POPAD 將 PUSHA/POPA中的 reg16換為 reg32, 其余不變 。 ? 交換指令 : XCHG OPR1, OPR2 執(zhí) 行操作: (OPR1) ? (OPR2) 例: XCHG BX, [BP+SI] XCHG AL, BH 注意 : * 不影響標(biāo)志位 * 不允許使用段寄存器 11 ? 累加器專用傳送指令 ? 輸入指令 : IN AC, PORT ( I/O ? CPU) 長(zhǎng)格式 : IN AL/AX/EAX , PORT 執(zhí)行操作 : (AL) ? (PORT) (字節(jié) ) (AX) ? (PORT+1, PORT) (字 ) (EAX) ? (PORT+3, PORT+2, PORT+1, PORT) (雙字 ) 短格式 : IN AL/AX/EAX , DX 執(zhí)行操作 : (AL) ? ( (DX) ) (字節(jié) ) (AX) ? ( (DX)+1, (DX) ) (字 ) (EAX) ? ( (DX)+3, (DX)+2, (DX)+1, (DX) ) (雙字 ) 12 ? 輸出指令 : OUT PORT , AC ( CPU ? I/O) 長(zhǎng)格式 : OUT PORT, AL/AX/EAX 執(zhí)行操作 : (PORT) ? (AL) (字節(jié) ) (PORT+1, PORT) ? (AX) (字 ) (PORT+3, PORT+2, PORT+1, PORT) ? (EAX) (雙字 ) 短 格式: OUT DX, AL/AX/EAX 執(zhí)行操作 : ( (DX) ) ? (AL) (字節(jié) ) ( (DX)+1, (DX) ) ? (AX) (字 ) ( (DX)+3, (DX)+2, (DX)+1, (DX) ) ? (EAX) (雙字 ) 13 例: IN AX, 28H 。 MOV DX, 28H 。 IN AX, DX 例: MOV DX, 3FCH 例: OUT 5, AL OUT DX, AX 例 : 測(cè)試某狀態(tài)寄存器(端口號(hào) 27H)的第 2位是否為 1 IN AL, 27H TEST AL, 00000100B JNZ ERROR 。若 第 2位為 1,轉(zhuǎn)到 ERROR處理 注意 : * 不影響標(biāo)志位 * 前 256個(gè)端口號(hào) 00H~FFH可直接在指令中指定 (長(zhǎng)格式) * 如果 端口號(hào) ? 256,端口號(hào) ? DX(短格式) 14 ? 換碼指令 : XLAT 執(zhí)行操作: (AL) ? ( ( (E)BX ) + (AL) ) 例 : MOV BX, OFFSET TABLE 。 (BX)=0040H MOV AL, 3 XLAT 指 令執(zhí)行后 (AL)=33H 33 H 0046H 30 H 0043H 31 H 0044H 32 H 0045H TABLE (DS)=F000H 注意 : * 不影響標(biāo)志位 * 字節(jié)表格 (長(zhǎng)度不超過 256) * 首地址 ? (BX) 需轉(zhuǎn)換代碼 ? (AL) (AL) = 3 (BX) ? 15 ? 地址傳送指令 ? 有效地址 送 寄存器 指令 : LEA REG, SRC 執(zhí) 行操 作: (REG) ? SRC的有效 地址 ? 指針 送 寄存器 和 段寄存器 指令 : LDS /LES REG, SRC LSS /LFS / LGS REG, SRC ; 386及后繼機(jī)型 例: LDS REG, SRC 執(zhí) 行操 作: (REG) ? (SRC) , (DS) ? (SRC+2/4) 功能:存儲(chǔ)器 4個(gè)或 6個(gè)相繼字節(jié)送寄存器 、 DS 注意 : * 不影響標(biāo)志位 * REG不能是 段寄存器, SRC必須為 存儲(chǔ)器尋址方式 16 例: LEA BX, [BX+SI+0F62H] 例: LDS SI, [10H] 例: LES DI, [BX] MOV BX, TABLE MOV BX, OFFSET TABLE LEA BX, TABLE LDS BX, TABLE LES BX, TABLE 。 (BX)=0040H 。 (BX)=1000H 。 (BX)=1000H 。 (BX)=0040H 。 (BX)=0040H 。 (ES)=3000H 。 (DS)=3000H 00 H 40 H 00 H 30 H TABLE (DS):1000H 例: 17 ? 標(biāo)志寄存器傳送指令 ? 標(biāo)志送 AH指令 : LAHF 執(zhí)行操作: (AH) ? (FR的低字節(jié) ) ? AH送標(biāo)志寄存器 指令 : SAHF 執(zhí)行操作: (FR的低字節(jié) ) ? (AH) ? 標(biāo)志進(jìn)棧 指令 : PUSHF 功能: FR中的標(biāo)志字 棧頂 執(zhí)行操作: (SP) ? (SP) 2 , ( (SP)+1, (SP) ) ? (PSW) ? 標(biāo)志出棧 指令 :
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1