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

正文內(nèi)容

微機4-12上第2章已學(xué)匯編-資料下載頁

2025-04-29 05:55本頁面
  

【正文】 BH BL CH CL DH DL SP BP SI DI 通用 寄存器 地址加法器 指令隊列 8088: 4字節(jié)( 8086: 6字節(jié)) 執(zhí)行部件 ( EU) 總線接口部件 ( BIU) 16位 20位地址總線 ALU數(shù)據(jù)總線 功能:管理 8088與系統(tǒng)總線的接口 負責(zé) CPU對存儲器和外設(shè)進行訪問 功能:負責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運算 8088CPU引腳線 外部特性 CPU引腳是系統(tǒng)總線的基本信號 可以分成三類信號 8位數(shù)據(jù)線: D0 ~ D7 20位地址線: A0 ~ A19 控制線: ALE、 IO/M*、 WR*、 RD*、 READY INTR、 INTA*、 NMI, HOLD、 HLDA RESET、 CLK、 Vcc、 GND 為減少芯片引線 , 有許多引線具有雙重定義和功能 , 分時復(fù)用方式 , 即在不同時刻 , 這些引線上的信號是不相同的 狀態(tài)標志寄存器 ( PSW程序狀態(tài)字) 存放 cpu工作過程中狀態(tài) , 即反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式 8088處理器的各種標志形成了一個 16位 ( 用 9位 ) 的狀態(tài)標志寄存器 PSW 狀態(tài)標志 -- 用來記錄程序運行結(jié)果的狀態(tài)信息 , 許多指令的執(zhí)行都將相應(yīng)地設(shè)置它 C Z S P O A 控制標志 -- 可由程序根據(jù)需要用指令設(shè)置 , 用于控制處理器執(zhí)行指令的方式 D I T O 11 15 12 D 10 I 9 T 8 S 7 Z 6 5 A 4 3 P 2 1 C 0 程序設(shè)計需要利用標志的狀態(tài) 邏輯地址 (16位 , 匯編語言編程時采用 ) 形式為 段地址 : 偏移地址 段地址 段寄存器 CS, DS, ES, SS內(nèi)容 ? 說明邏輯段在主存中的起始位置 偏移地址 ? 說明主存單元距離段起始位置的偏移量 物理地址 ( 20位 , 地址線尋址 ,實際地址 ) 物理地址 =段地址 *16+偏移地址 一個存儲單元具有唯一物理地址 ( 20位 , 地址線尋址 ) 、 多個邏輯地址 ( 16位 , 編程用 ) 主存儲器物理地址和邏輯地址 例 :MOV AX, ES: [2022H] ; AX←ES :[2022H] 例 :邏輯地址 1460:100、 1380:F00 物理地址 14700H 14700H 8088CPU的存儲格式 小端存儲方式 D7 D0 字節(jié) D15 D0 字 D31 D0 雙字 00006H 78H 00005H 56H 00004H 12H 00003H 34H 00002H 00001H 00000H 低地址 LSB MSB 00002H單元的內(nèi)容為: [00002H] = 34H 00002H“字 ” 單元的內(nèi)容為: [00002H] = 1234H 00002H號 “ 雙字 ” 單元的內(nèi)容為: [00002H] = 78561234H ?多字節(jié)數(shù)據(jù)在存儲器中占連續(xù)的多個存儲單元 ?存放 :低字節(jié)存入低地址,高字節(jié)存入高地址 ?表達 :用低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間 ?同一個存儲器地址可以是字節(jié)單元地址、字單元地址、雙字單元地址等等 設(shè) DS=0 00002H“雙字”單元 MOV EAX,[0002H] 00002H“字”單元 MOV AX,[0002H] 00002H單元 MOV AH,[0002H 高地址 存儲單元 D7 D0 存儲器地址 內(nèi)存 (存儲器 )一般圖示方法 56H 28E94H 12H 28E93H 34H 28E92H 內(nèi)存單元 內(nèi)容 (數(shù)據(jù) ) 內(nèi)存單元 物理地址 內(nèi)存單元 內(nèi)容 (數(shù)據(jù) ) 內(nèi)存單元 偏移地址 56H 0004H 12H 0003H 34H 0002H 若段地址 =28E9H,兩種方法表同一存儲區(qū) 方法一 方法二 小結(jié) 8088/8086指令系統(tǒng) 7種類型: 一 . 數(shù)據(jù)傳送指令; 二 . 算術(shù)運算指令; 三 . 邏輯運算和位移指令; 四 . 串操作指令; 五 . 程序控制指令; 六 . 處理器控制指令; 七 . 輸入 /輸出指令 。 指令系統(tǒng)教學(xué)要求 熟悉匯編語言的語句格式 , 掌握 8088/8086基本指令: 數(shù)據(jù)傳送: MOV/ XCHG、 PUSH/ POP、 LEA 加減運算: ADD/ SUB、 ADC/ SBB、 CMP、 INC/ DEC 位操作: AND/ OR/ XOR/ NOT/ TEST、 SHL/ SHR/ SAR、 ROL/ ROR/ RCL/ RCR 控制轉(zhuǎn)移: JMP/ Jcc/ LOOP、 CALL/ RET、 INT n 輸入 /輸出 : IN/OUT 第 2章 小結(jié) 一 . 數(shù)據(jù)傳送指令 數(shù)據(jù)傳送是計算機中最基本 、 最重要的一種操作 ,傳送指令也是最常使用的一類指令 傳送指令把數(shù)據(jù)從一個位置傳送到另一個位置 除標志寄存器傳送指令外 , 均不影響標志位 重點掌握 MOV XCHG PUSH POP LEA 1. 傳送指令 MOV 2. 交換指令 XCHG 3. 地址傳送指令 LEA 4. 堆棧操作指令 PUSH、 POP 5. 字節(jié) 、 字轉(zhuǎn)換指令 6. 標志 j寄存器傳送指令 7. XLAT換碼指令 MOV指令傳送功能圖解 立即數(shù) imm 段寄存器 seg CS DS ES SS 通用寄存器 AX BX CX DX BP SP SI DI 存 儲 器 MOV reg/mem,imm ; 立即數(shù)送至寄存器或主存 立即數(shù)傳送 MOV reg/mem/seg,reg ; 寄存器送 (段 )寄存器或主存 寄存器傳送 MOV reg/seg,mem ; 內(nèi)存送(段)寄存器 存儲器傳送 MOV reg/mem,seg ; 段寄存器送寄存器或主存 段寄存器傳送 MOV指令并非任意傳送 ! mem reg 二 . 算術(shù)指令 算術(shù)運算類指令用來執(zhí)行二進制的算術(shù)運算: 加減乘除 。 這類指令會根據(jù)運算結(jié)果影響 狀態(tài)標志 , 有時要利用某些標志才能得到正確的結(jié)果;使用他們時請留心有關(guān)狀態(tài)標志 重點掌握 加法指令: ADD、 ADC、 INC 減法指令: SUB 、 SBB、 DEC、 CMP、 NEG 三 . 邏輯運算和移位指令 1. 邏輯運算指令 AND OR XOR NOT TEST 2. 移位指令 SHL SHR SAR 3. 循環(huán)移位指令 ROL ROR RCL RCR 該類指令以 二進制位 為基本單位進行數(shù)據(jù)的操作 注意這些指令對標志位的影響 , 尤其 CF 四 . 串操作類指令 8088的串操作類指令能對內(nèi)存中一個連續(xù)區(qū)域的數(shù)據(jù)( 如數(shù)組 、 字符串等 ) 進行傳送 、 比較等同樣操作 。當(dāng) DF=0 地址自動增量 , 從低地址到高地址處理字符串;當(dāng) DF=1地址減量 指令有 : 1. 傳送數(shù)據(jù)串: MOVS, STOS, LODS 2. 檢測數(shù)據(jù)串: CMPS, SCAS 3. 重復(fù)前綴: REP, REPZ, REPNZ 重復(fù)執(zhí)行 CX次 例: MOVSB 。ES:[DI]← DS:[SI] 。當(dāng) DF=0, SI←SI+ 1 DI←DI+ 1 當(dāng) DF=1, SI←SI 1 DI←DI 1 利用循環(huán)程序也可以實現(xiàn)串操作指令的功能 五 . 程序控制指令 程序控制指令用于實現(xiàn)分支 、 循環(huán)等程序結(jié)構(gòu) , 是僅次于傳送指令的常用指令 重點掌握: JMP/Jcc/LOOP/JCXZ CALL/RET 指令指針寄存器 IP與代碼段寄存器 CS聯(lián)合使用以確定下一條指令的存儲單元地址 CS: IP ? 控制轉(zhuǎn)移類指令通過 改變 IP( 和 CS) 值 , 實現(xiàn)程序執(zhí)行順序的改變 控制轉(zhuǎn)移類指令的目標地址( 邏輯地址為 段地址 CS : 偏移地址 ) 2. 條件轉(zhuǎn)移指令 條件轉(zhuǎn)移指令 Jcc根據(jù)指定的條件確定程序是否發(fā)生轉(zhuǎn)移 。 其通用格式為: Jcc label ; cc條件滿足 , 轉(zhuǎn)移 ; 否則 , 順序執(zhí)行 條件轉(zhuǎn)移指令 Jcc 的分類 Jcc指令不影響標志 , 但要利用標志 根據(jù)利用的標志位不同 , 分成三種情況: ⑴ 判斷單個標志位狀態(tài) — 單個 OF、 SF、 ZF、 PF、 CF ⑵ 比較無符號數(shù)高低 —組合 CF ⑶ 比較有符號數(shù)大小 —組合 OF、 SF Jcc指令實際雖然只有 16條 , 但卻有 30個助記符 條件轉(zhuǎn)移指令的含義 ? 采用多個助記符 , 目的是為了方便記憶和使用 OF 11 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 0 狀態(tài)標志寄存器 PSW 循環(huán)指令用于控制程序的重復(fù)執(zhí)行 , 根據(jù) CX( 存放循環(huán)次數(shù) ) 決定循環(huán) ( 轉(zhuǎn)移至目標地址 ) 還是順序執(zhí)行 ( 下一條指令 ) 循環(huán)指令 LOOP label ; CX1 ≠0 , 則轉(zhuǎn)移 ( 首先 CX←CX - 1;然后判斷 若 CX≠0, 轉(zhuǎn)移 ) LOOPZ / LOOPE label ; CX1 ≠0 且 ZF=1, 則轉(zhuǎn)移 LOOPNZ / LOOPNE label ; CX1 ≠0 且 ZF=0, 則轉(zhuǎn)移 JCXZ label ; CX= 0, 則轉(zhuǎn)移 dec cx jnz label 4. 軟中斷指令及中斷返回指令 中斷 ( Interrupt) 是又一種改變程序執(zhí)行順序的方法 , 分為 硬中斷 外部 設(shè)備 中斷請求信號 INTR、 NMI 軟中斷 程序指令請求 8088CPU支持 256個軟中斷 , 每個中斷用一個編號 ( 中斷向量號 ) 區(qū)別 中斷指令有 3條: INT i8 IRET INTO INT i8 ;軟中斷調(diào)用指令:產(chǎn)生 i8號中斷 (類似 CALL) ;主程序使用 , 其中 i8表示中斷向量號 IRET ;中斷返回指令:實現(xiàn)中斷返回 (類似 RET) ;中斷服務(wù)程序使用 六 . 處理器控制類指令 處理器控制類指令用來控制 CPU的狀態(tài) , 使 CPU暫停 、等待或空操作等 NOP ;空操作指令 , 等同于 “ xchg ax,ax” 指令 HLT ;暫停指令: CPU進入暫停狀態(tài) 還有其他指令: LOCK ESC WAIT 七 . 8088/8086的輸入輸出指令 輸入指令 ( IN: 將外設(shè)數(shù)據(jù)傳送給 CPU內(nèi)的 AL/AX) IN AL,i8 。字節(jié)輸入 IN AL,DX 。字節(jié)輸入 IN AX,i8 。字輸入 IN AX,DX 。字輸入 輸出指令 ( OUT: 將 CPU內(nèi)的 AL/AX數(shù)據(jù)傳送給外設(shè) ) OUT i8,AL 。字節(jié)輸出 OUT DX,AL 。字節(jié)輸出 OUT i8,AX 。字輸出 OUT DX,AX 。字輸出 小結(jié) 偽指令 匯編語言源程序格式 操作數(shù) 立即數(shù) 、 寄存器和存儲單元 參數(shù) 常數(shù) 、 變量名 、 表達式等 匯編語言的數(shù)據(jù)可以簡單分為常量和變量 常量 可以作為硬指令的立即數(shù)或偽指令的參數(shù) 變量 主要作為存儲器操作數(shù) 標號 : 硬指令助記符 操作數(shù) ,操作數(shù) 。注釋 名字 偽指令助記符 參數(shù) ,參數(shù) ,…… 。注釋 匯編時已確定的數(shù)據(jù) 如硬指令中立即數(shù) 二進制數(shù) , 如 MOV AL,10110101B 十進制常數(shù) , 如 MOV AL,181 十六進制數(shù)常量 , 以字母開頭的十六進制數(shù)前加 “ 0”。 例:MOV AL,0B5H 字符或字符串常量 字符串常量是包含在單引號內(nèi)的一串字符組成 , 在計算機內(nèi)字符以 ASCII碼 形式存放 。 如 MOV AX, ’ OK? MOV AX, ’ 1? ; AX?31h 符號定義偽指令 EQU 符號名 EQU 表達式 如 X EQU 7 小結(jié) 變量
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1