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

正文內(nèi)容

微機(jī)原理課件-第3章-展示頁(yè)

2025-01-30 23:47本頁(yè)面
  

【正文】 操作數(shù)、 寄存器操作數(shù)、 存儲(chǔ)器操作數(shù) 8086指令格式(1) 8086/8088指令是由 1~6個(gè)字節(jié)組成。它表示該條指令要進(jìn)行什么樣的操作。 0 7 0 7 ?D=0: 第一個(gè)操作數(shù) 是目的操作數(shù), 1: 第二個(gè)操作數(shù) 是目的操作數(shù) ?w=0: 8位操作數(shù), 1: 16位操作數(shù) ?MOD指明尋址方式: MOD= 11 寄存器尋址 MOD≠11 存儲(chǔ)器尋址 00沒有偏移量 01 8位偏移量 1016位偏移量 ?REG用編碼方式指明操作中所使用的寄存器。 ?DISP表示地址偏移量。 8086指令格式( 2) R/M(寄存器 /存儲(chǔ)器)編碼及有效地址計(jì)算方法 例: ADD DISP[BX][DI],DX DISP=2145H 000000 0 1 10 010 001 01000101 00100001 操作碼 D W MOD REG R/M 位移量低 位移量高 D=0 源操作數(shù)是寄存器操作數(shù) W=1 操作數(shù)是 16位 操作碼是 : 01914521H MOD=11 MOD≠11 (存儲(chǔ)器操作數(shù)) REG W=0 W=1 R/M MOD=00 MOD=01 MOD=10 000 AL AX 000 [BX+SI] [BX+SI]+D8 [BX+SI]+D16 001 CL CX 001 [BX+DI] [BX+DI]+D8 [BX+DI]+D16 010 DL DX 010 [BP+SI] [BP+SI]+D8 [BP+SI]+D16 011 BL BX 011 [BP+DI] [BP+DI]+D8 [BP+DI]+D16 100 AH SP 100 [SI] [SI]+D8 [SI]+D16 101 CH BP 101 [DI] [DI]+D8 [DI]+D16 110 DH SI 110 直接地址 [BP]+D8 [BP]+D16 111 BH DI 111 [BX] [BX]+D8 [BX]+D16 8 立即操作數(shù)、寄存器操作數(shù)、存儲(chǔ)器操作數(shù) 立即操作數(shù)即常數(shù); 可以是字節(jié)( 8位)、字( 16位) ; 立即操作數(shù)只能用作源操作數(shù),不能用作目的操作數(shù); 8位數(shù) 16位數(shù) 無(wú)符號(hào)數(shù) 00H~0FFH(0~255) 0000H~0FFFFH (0~65535) 帶符號(hào)數(shù) 80H~7FH(128~+127) 8000H~7FFFH (32768~+32767) 9 寄存器操作數(shù) 寄存器操作數(shù)存放在 CPU的 8個(gè)通用寄存器或 4個(gè)段寄存器中,既可以用作源操作數(shù)也可以用作目的操作數(shù);但 CS一般不作為目的操作數(shù); 個(gè)別指令將 FLAGS作為操作數(shù); AH AL BL CL DL DH CH BH DX CX BX AX SP BP DI SI 目的變址寄存器 源變址寄存器 基址指針寄存器 堆棧指針寄存器 通用寄存器 通用寄存器中 AX、 BX、 CX、DX、 SI、 DI、 BP、 SP存放字 操作數(shù); AH、 AL、 BH、 BL、 CH、CL、 DH、 DL存放 字節(jié) 操作數(shù); 10 存儲(chǔ)器操作數(shù) 存儲(chǔ)器操作數(shù)可以是字節(jié)、字、雙字,分別存在 1個(gè)、 2個(gè)、 4個(gè)存儲(chǔ)單元中;它既可以用作源操作數(shù)也可以用作目的操作數(shù); 注意:對(duì)大多數(shù)指令,不允許源操作數(shù)和目的操作數(shù)同時(shí)為存儲(chǔ)器操作數(shù),即不允許存儲(chǔ)器到存儲(chǔ)器的操作。 例如: CPU的時(shí)鐘頻率為 5MHz,即一個(gè)時(shí)鐘周期為 微秒,則寄存器到寄存器之間的傳送指令的執(zhí)行時(shí)間為: t== 再如:立即操作數(shù)傳送到寄存器的指令執(zhí)行時(shí)間為: t== 14 CPU的尋址方式 獲得操作數(shù)所在地址的方法,叫尋址方式,共有 8種尋址方式;一般是針對(duì)源操作數(shù)而言; 尋址方式分為兩大類: ?尋找操作數(shù)的地址 ?尋找要執(zhí)行的下一條指令的地址 主要在程序轉(zhuǎn)移 (JMP)或過(guò)程調(diào)用 (CALL)時(shí)用來(lái)尋找目的地址或程序入口地址 15 立即尋址 立即尋址 (Immediate Addressing) 源操作數(shù)是一個(gè)立即數(shù), 8位或 16位的整數(shù); 操作數(shù)直接放在操作碼的后面;若為 16位則低 8位在低地址單元,高 8位在高地址單元存放。 16位偏移地址必須用 [ ]括起來(lái)。 19 寄存器尋址( Register Addressing) 操作數(shù)存放在 CPU的寄存器中。它們是 SI、 DI 、BX、 BP,也簡(jiǎn)稱為 間址寄存器; 選擇 SI、 DI 、 BX作間址寄存器時(shí),操作數(shù)在數(shù)據(jù)段,段基址由 DS決定; 如果用 BP,則操作數(shù)在堆棧段,段基址由 SS決定; 但是,無(wú)論選擇哪一個(gè)間址寄存器,都允許段超越; SI、 DI 、 BX、 BP在作為間址寄存器使用時(shí)表示為 [ ]; 如: MOV AX,[SI] MOV AX,ES:[SI] 21 44H 33H 數(shù)據(jù)段 AX 61200H MOV CX,[DI] EA=(DI) DS:DI MOV DX,[BP] EA=(BP) SS:BP MOV BX,[BP] EA=(BP) SS:BP 注意: MOV AX,SI 和 MOV AX,[SI]的區(qū)別! 已知 :( DS) =6000H, (SI)=1200H MOV AX,[SI] ( AX) =3344H 22 寄存器相對(duì)尋址( Index Addressing) 操作數(shù)存在存儲(chǔ)單元中,把指令指定的間址寄存器的內(nèi)容加上指令中給出的一個(gè) 8位或 16位地址偏移量,才可得到操作數(shù)的有效偏移地址。如: MUL BL。 30 8086指令系統(tǒng) OPRD 各種類型的操作數(shù) mem 存儲(chǔ)器操作數(shù) acc 累加器操作數(shù) dest 目的操作數(shù) src 源操作數(shù) disp 8位或 16位的位移量,可用符號(hào)地址表示 DATA 8位或 16位的立即數(shù) port 輸入輸出端口 (地址 ) ( ) 表示寄存器的內(nèi)容 [ ] 表示地址 31 8086/8088 CPU指令系統(tǒng) 指令系統(tǒng)分為六個(gè)功能組: 數(shù)據(jù)傳送 Data Transfer 算術(shù)運(yùn)算 Arithmetic 邏輯運(yùn)算 logic 串操作 string manipulation 控制傳送 control transfer 處理器控制 processor control 32 數(shù)據(jù)傳送類指令 一般數(shù)據(jù)傳送 MOV, PUSH, POP,XCHG, XLAT, CBW, CWD 輸入輸出指令 IN, OUT 標(biāo)志傳送指令 LAHF, SAHF, PUSHF, POPF 地址傳送指令 LEA, LDS, LES 33 MOV指令 MOV dest, src ( 1)寄存器與寄存器之間: MOV BX,SI MOV DS,AX MOV AX,CS MOV AL,CL MOV DL,CH ( 2)寄存器與存儲(chǔ)器之間 MOV [BX],AX; 設(shè) (DS)=6000H,(AX)=1234H,(BX)=1200H 則 (61200H)=34H,(61201H)=12H 注意: MOV指令可以使用各種尋址方式 34 MOV CL,[BP][DI] 設(shè) (SS)=8000H,(BP)=1020H,(DI)=0383H (813A3)=44H 則 (CL)=44H MOV AX,[6000H] ( 3)立即數(shù)到寄存器或存儲(chǔ)器: MOV AL,5 MOV BX,3087H MOV BYTE PTR[BP+SI],5 說(shuō)明: PTR是一個(gè)運(yùn)算符,用以修改操作數(shù)的類型; 35 ( 4)存儲(chǔ)器與段寄存器之間 : MOV DS, [1000H] MOV BX,ES 注意:不能用立即數(shù)直接給段寄存器賦值,必須通過(guò) AX: MOV AX,2560H MOV DS,AX 如果 MOV DS,2560H錯(cuò)誤! 36 設(shè)執(zhí)行前 (DS)=8000H,(ES)=4000H,(BX)=1200H MOV DS,[1000H] MOV [BX],ES 則執(zhí)行后 : (DS)=2022H 00H 20H 00H 40H 21200H 81000 37 使用 MOV指令需注意以下幾點(diǎn): 1. MOV指令的兩個(gè)操作數(shù)類型必須相同; MOV AX,BL 錯(cuò)誤! 2. 不能用一條指令完成兩個(gè)存儲(chǔ)單元之間的數(shù)據(jù)傳送;MOV [BX],[SI] 錯(cuò)誤! 3. 不能用立即數(shù)直接給段寄存器賦值; MOV DS,DATA 錯(cuò)誤! 4. 不能在段寄存器之間進(jìn)行直接數(shù)據(jù)傳送; MOV DS,ES 錯(cuò)誤! 5. IP和 CS的內(nèi)容不能通過(guò) MOV指令修改,即它們不能作為目標(biāo)操作數(shù),但可以作為源操作數(shù); 6. FLAGS整體不作為操作數(shù); 38 數(shù)據(jù)塊傳送 例:把內(nèi)存中首地址為 MEM1的 200個(gè)字節(jié)送到首地址為 MEM2的區(qū)域; MOV SI,OFFSET MEM1 MOV DI,OFFSET MEM2 MOV CX,200 NEXT: MOV AL,[SI] MOV [DI],AL INC SI INC DI DEC CX JNZ NEXT HLT 37H A4H 5BH 4EH … MEM1 MEM2 39 取值運(yùn)算符 : SEG、 OFFSET ( 1) SEG:求段基址 例: MOV AX,SEG BUFFER MOV AX,SEG ALPHA ( 2) OFFSET:求地址偏移量 例: MOV AX,OFFSET BUFFER 40 PUSH、 POP指令 堆棧段是內(nèi)存中一個(gè)特定的區(qū)域,段基址放在SS中,堆棧指針為 SP;存取規(guī)則如下: ?每次存取一個(gè)字( 16位); ?存放數(shù)據(jù)時(shí),從高地址向低地址; 讀取數(shù)據(jù)時(shí)正好相反; ?操作數(shù)不能是立即數(shù); ?SP總是指向棧頂; ?后進(jìn)先出( LIFO)的原則; … 4EH 66H 5AH 23H SS SP 50000H 5FFFFH 堆棧增長(zhǎng)方向 堆棧段 41 例 : PUSH AX PUSH BP PUSH DATA[SI] P
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1