微型計(jì)算機(jī)指令系統(tǒng)_第1頁(yè)
微型計(jì)算機(jī)指令系統(tǒng)_第2頁(yè)
微型計(jì)算機(jī)指令系統(tǒng)_第3頁(yè)
微型計(jì)算機(jī)指令系統(tǒng)_第4頁(yè)
微型計(jì)算機(jī)指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、微型計(jì)算機(jī)指令系統(tǒng)第二章第二章 微型計(jì)算機(jī)指令系統(tǒng)微型計(jì)算機(jī)指令系統(tǒng) 重點(diǎn):*1、目標(biāo)地址傳送、目標(biāo)地址傳送 *尋址方式尋址方式 2、標(biāo)志傳送、標(biāo)志傳送 3、轉(zhuǎn)移控制(轉(zhuǎn)移指令、過程調(diào)用、中斷)、轉(zhuǎn)移控制(轉(zhuǎn)移指令、過程調(diào)用、中斷) 指令指令-微機(jī)算術(shù)、邏輯和控制功能的實(shí)現(xiàn)基礎(chǔ)微機(jī)算術(shù)、邏輯和控制功能的實(shí)現(xiàn)基礎(chǔ)2指令指令(Instruction)指令集或指令系統(tǒng)指令集或指令系統(tǒng) (Instruction Set) 指令的表示指令的表示 指令與指令系統(tǒng)指令與指令系統(tǒng)指示指示CPU執(zhí)行某種規(guī)定操作的命令執(zhí)行某種規(guī)定操作的命令某一某一CPU所能執(zhí)行的全部指令的集合所能執(zhí)行的全部指令的集合 定義了程序

2、員能使定義了程序員能使硬件完成的基本操作硬件完成的基本操作(CPU基本性能)。基本性能)。F8H=CLC指令指令 F5H=CMC F9H=STC05H 00H 10H ADD AX,1000H B9H 25H 00H MOV CX,0025H01H C8H ADD AX, CX機(jī)器碼(指令)機(jī)器碼(指令) 匯匯編語言編語言/助記符(助記符(Mnemonic Symbol)3軟件程序與指令的關(guān)系軟件程序與指令的關(guān)系編輯器(編輯器(Editor) 程序設(shè)計(jì)程序設(shè)計(jì)編譯器編譯器(Compiler) 高級(jí)語言程序高級(jí)語言程序(與機(jī)器無關(guān)與機(jī)器無關(guān)) 匯編器匯編器(Assembler) 匯編語言匯編語言

3、(與機(jī)器有關(guān)與機(jī)器有關(guān)) 鏈接器(鏈接器(Linker) 待裝配的待裝配的BIN指令代碼指令代碼 可執(zhí)行可執(zhí)行BIN指令代碼指令代碼 (軟件軟件) SOFTWAREFIRMWARE(固件固件)4 指令體系與指令體系與8086指令指令 05H 00H 10H ADD AX, 1000H指令功能指令功能 對(duì)應(yīng)對(duì)應(yīng)CPU執(zhí)行的某種規(guī)定操作執(zhí)行的某種規(guī)定操作(算術(shù)算術(shù)/邏輯邏輯/控制控制)指令碼指令碼=操作碼操作碼(Opcode)+操作數(shù)操作數(shù)(Operand) (目標(biāo)目標(biāo)/源操作數(shù)源操作數(shù)) 解決:解決:1 什么操作什么操作 2 涉及的數(shù)和結(jié)果如何存放涉及的數(shù)和結(jié)果如何存放尋址尋址(Addressi

4、ng)方式方式 復(fù)雜指令計(jì)算機(jī)復(fù)雜指令計(jì)算機(jī) (CISCComplex Instruction Set Computer) 例例: 80X86/Pentium 變字節(jié)變字節(jié) 1-16字節(jié)字節(jié), 種種類多,代碼利用率低類多,代碼利用率低8086指令向下兼容指令向下兼容8080/8085指令,共指令,共92種基本指令種基本指令(P434) 指令指令- 指示指示CPU執(zhí)行某種規(guī)定操作的命令執(zhí)行某種規(guī)定操作的命令精簡(jiǎn)指令計(jì)算機(jī)精簡(jiǎn)指令計(jì)算機(jī) (RISCReduced Instruction Set Computer)APARC, PowerPC, Alpha 指令簡(jiǎn)單,復(fù)雜功能代碼存儲(chǔ)器指令簡(jiǎn)單,復(fù)雜

5、功能代碼存儲(chǔ)器利用率低利用率低58086/8088指令格式指令格式 操作碼操作碼(Opcode) +操作數(shù)操作數(shù)(Operand=OPrd1,Oprd2)Prefix14字節(jié)OP Code12字節(jié)Mode r/m 1字節(jié) s-i-b 1字節(jié) disp 0,1,2,4 data 字節(jié)字段1 字段2 字段3 字段4 字段5 字段6操作碼操作碼 指定操作類型(操作數(shù)類型、寄存器、方向)指定操作類型(操作數(shù)類型、寄存器、方向)尋址尋址(Addressing)方式方式 粗分粗分4種,細(xì)分種,細(xì)分7種種 源操作數(shù)值在何處源操作數(shù)值在何處 (Oprd1,Oprd2) 目標(biāo)操作數(shù)結(jié)果送往何處;目標(biāo)操作數(shù)結(jié)果送

6、往何處; (Oprd1) 轉(zhuǎn)移控制指令轉(zhuǎn)移控制指令JMP/CALL/INT目標(biāo)地址目標(biāo)地址 特例特例-無無/默認(rèn)操作數(shù)(默認(rèn)操作數(shù)(NOP, CLI,EI,STD,CLD)6第一節(jié)第一節(jié) 指令尋址方式指令尋址方式1、立即尋址(、立即尋址(Immediate Addressing) MOV AL,100; MOV CX,202XH; ( MOV DS,200H )2、寄存器尋址(、寄存器尋址(Register Addressing) MOV DS,AX; MOVCX,BX;MOVSI,DX3、直接尋址(、直接尋址(Direct Addressing) MOV AX,202XH ; MOV AL,

7、BUFFER(內(nèi)存);(內(nèi)存);4、寄存器間、寄存器間(接尋接尋)址址 (Register Indirect Addressing)MOV AX,SI; MOV BL,DI; MOV CH,BX; MOV DX,BP問問 題題物理地址物理地址=?有效地址有效地址EA=? 默認(rèn)段寄存器默認(rèn)段寄存器=??7 尋址:物理地址獲取尋址:物理地址獲取存儲(chǔ)器訪問:?jiǎn)卧鎯?chǔ)器訪問:?jiǎn)卧?變量物理地址變量物理地址PA邏輯地址邏輯地址: 段基地址段基地址SA+偏移地址偏移地址EA(Effective Addr)兩部分兩部分 PA=SA*16+EA 書面表示書面表示 SA:EA 1000:202XH.DS:202

8、XH有效地址有效地址EA=偏移偏移(Offset)地址地址(直接尋址直接尋址/寄存器間址表示寄存器間址表示) MOV AX,8000H ; MOV BX, 8000H; MOV AX,BX MOV CL,CS:202XH 段基地址段基地址段寄存器內(nèi)容段寄存器內(nèi)容 ; 默認(rèn)段默認(rèn)段=C/D/E/SS? 默認(rèn)段寄存器默認(rèn)段寄存器 一般數(shù)據(jù),直接尋址、一般數(shù)據(jù),直接尋址、BX、 DI、EI,DS 代碼代碼 始終始終CS(:IP) BP,SP SS 特殊指令特殊指令 例例(串操作)(串操作) EI ES 段超越段超越 非默認(rèn)段寄存器,需說明(指令加段超越前綴)非默認(rèn)段寄存器,需說明(指令加段超越前綴)

9、8 各種尋址方式(二)各種尋址方式(二)5、變址尋址(、變址尋址(Indexed Addressing) 索引索引-源變值源變值R:SI/目標(biāo)變址目標(biāo)變址R:DI EA=SI/DI+位移量位移量 MOV AX,SI+6;MOV DL,TABLESI 一維數(shù)組一維數(shù)組6、基址尋址(、基址尋址(Based Addressing) BX/BP MOV AL,BX+100;MOV DX,TABLEBP7、基址、基址-變址尋址(變址尋址(Based Indexed Addressing) EA=BX/BP+SI/DI+COUNT MOV AL,BXSICOUNT, MOV DX,BP+DI+COUNT

10、二維數(shù)組二維數(shù)組9存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù)存儲(chǔ)器尋址方式存儲(chǔ)器尋址方式 直接尋址直接尋址 寄存器間寄存器間(接尋接尋)址、變址尋址、址、變址尋址、基址尋址、基址基址尋址、基址-變址尋址變址尋址=存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù) 存儲(chǔ)方式存儲(chǔ)方式 高位結(jié)束(高位結(jié)束(Big-Endian ) 數(shù)據(jù)類型數(shù)據(jù)類型 1/2/4字節(jié)字節(jié) ( 8/10) (BYTE/WORD/DOUBLE WORD) 指針指針 NEAR/FAR/SHORT訪問速度訪問速度 :直接尋址:直接尋址 SPSP= SP-1OPRDL SP2PUSH SRC; (SP)(SP)-2;(;(SP)+1:(:(SP)(SRC) POP DST

11、; (DST)(SP)+1:(:(SP);();(SP)(SP)+2; SRC/DST R/M/SR (但(但DST不可為不可為CS?。。㏒P偶數(shù)偶數(shù)!POP(SP) OPRDLSP=SP+1(SP) OPRDHSP=SP+114通通用傳送指令用傳送指令-堆棧堆棧 (STACK)用途用途 臨時(shí)保存數(shù)據(jù)(臨時(shí)保存數(shù)據(jù)(INT斷點(diǎn)斷點(diǎn)/CALL返回地址返回地址/數(shù)據(jù))傳遞信息數(shù)據(jù))傳遞信息(函數(shù)(函數(shù)/子程序)子程序)特點(diǎn)與規(guī)則特點(diǎn)與規(guī)則操作操作 按字(按字(2字節(jié))進(jìn)行字節(jié))進(jìn)行 P65PUSH指令指令 從高地址從高地址低地址增長(zhǎng)低地址增長(zhǎng),POP相反相反操作規(guī)則操作規(guī)則 FILO (Firs

12、t-In-Last-Out)棧底棧底 0FFFFH(堆棧的最大地址)(堆棧的最大地址)SP 為當(dāng)前棧頂指針(為當(dāng)前棧頂指針(EA)(末指針)(末指針)堆棧:內(nèi)存特殊區(qū)域堆棧:內(nèi)存特殊區(qū)域15通通用傳送指令用傳送指令-堆棧傳遞數(shù)據(jù)堆棧傳遞數(shù)據(jù)(PUSH AX之前)之前)16通用傳送指令通用傳送指令-堆棧傳遞數(shù)據(jù)堆棧傳遞數(shù)據(jù)(PUSH AX之前)之前)17通用傳送指令通用傳送指令-堆棧傳遞數(shù)據(jù)堆棧傳遞數(shù)據(jù)(PUSH AX之后)之后)18執(zhí)行執(zhí)行PUSH AX前前(a)后后(b) 堆棧及指針變化堆棧及指針變化19執(zhí)行執(zhí)行POP BX前前(a) 后后(b)堆棧及指針變化堆棧及指針變化20通通用傳送指令

13、用傳送指令-堆棧應(yīng)用(一)堆棧應(yīng)用(一)使用過程使用過程/關(guān)鍵關(guān)鍵堆棧平衡堆棧平衡 防止溢出防止溢出PUSH/POP配對(duì)使用配對(duì)使用/CALL-RET/INT-IRET) 8086:堆棧段:堆棧段SS:SP用途:保護(hù)用途:保護(hù)/傳遞數(shù)據(jù)傳遞數(shù)據(jù) 例:例:CALL (嵌套)(嵌套)-INT(嵌套)(嵌套) 函數(shù)調(diào)用;函數(shù)調(diào)用;MOV BP,SP; PUSH AX;PUSH BXPUSH CX;.MOVAX,BP-2;訪問堆棧內(nèi)容訪問堆棧內(nèi)容MOV BX,BP-4;MOV CX,BP-6;恢復(fù)恢復(fù)AX,BX,CX;.ADD SP,6 ;代替代替POP平衡堆棧平衡堆棧21數(shù)據(jù)傳送數(shù)據(jù)傳送-通通用傳送

14、指令(二)用傳送指令(二)3XCHG dest,src ;(dest) (src) RR/M;禁止禁止MM 例例 XCHG AL,AH; XCHG X1SI,AX4XLAT src_table;(AL)(BX)+(AL)查表轉(zhuǎn)換;)查表轉(zhuǎn)換;可段超越可段超越 例例 ES:XLAT運(yùn)行前運(yùn)行前BX須賦值,例須賦值,例 LEA BX,src_table; MOV AX,SEG src_table; MOV DS,AX; MOV 22數(shù)據(jù)傳送數(shù)據(jù)傳送-I/OI/O端口(端口(Port)Port)傳送指令傳送指令I(lǐng)N AL/AX, portNo; 8位立即數(shù)位立即數(shù)portNo:0255OUT por

15、tNo,AL/AX;INAL/AX,DX; DX:064K(0FFFFH)OUT DX,AL/AX; 字字IN/OUT L,H例例 IN AL, 40H OUT 40H,AL MOV DX,3F8H IN AL, DX ;PC讀讀COM1 接收接收 OUT DX, AL ; 發(fā)送發(fā)送23 數(shù)據(jù)傳送數(shù)據(jù)傳送-地址對(duì)象傳送指令地址對(duì)象傳送指令LEA reg16, mem16 ;取有效地址,近地址指針取有效地址,近地址指針(段內(nèi)段內(nèi))reg16 比較比較MOV/ LEA AX,BUFFER,直接,直接-mem=offset xxxx 例例 LEA AX,V1BXSI 當(dāng)當(dāng)BX=202XH, LEA SI,BX300HSi=2300HFAR Pointer 16位段址:位段址:16位偏址位偏址 存放格式:存放格式:(例)(例)LDS SI,BX/LES DI,BX(Address-object Transfer)LDS reg16,mem32; mem32存放存放FAR P數(shù)據(jù)數(shù)據(jù)(4bytes)DS:reg16 (IP:CSL-H存放存放) LES reg16,mem32 ; mem32存放存放FAR P數(shù)據(jù)數(shù)據(jù)(4bytes)ES:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論