• /  152
  • 下載費用: 29.9積分  

微機原理與接口技術-chapter3.ppt

'微機原理與接口技術-chapter3.ppt'
微機原理與接口技術第三章 指令系統主要內容尋址方式8086/8088的基本指令指令格式及執行時間基本概念指令與指令系統 計算機所有指令的集合稱為指令系統。指令結構:CISC與RISCCISC:復雜指令集計算機,典型代表Intel PentiumRISC:精簡指令集計算機,典型代表PowerPC兩個技術融合的趨勢最經常使用的指令不經常使用的指令20%80%RISC(精簡指令集計算機)和CISC(復雜指令集計算機)是當前CPU的兩種架構。它們的區別在于不同的CPU設計理念和方法。    早期的CPU全部是CISC架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。比如對于乘法運算,在CISC架構的CPU上,您可能需要這樣一條指令:MUL ADDRA, ADDRB就可以將ADDRA和ADDRB中的數相乘并將結果儲存在ADDRA中。將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作全部依賴于CPU中設計的邏輯來實現。這種架構會增加CPU結構的復雜性和對CPU工藝的要求,但對于編譯器的開發十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。今天只有Intel及其兼容CPU還在使用CISC架構    RISC架構要求軟件來指定各個操作步驟。上面的例子如果要在RISC架構上實現,將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作都必須由軟件來實現,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。這種架構可以降低CPU的復雜性以及允許在同樣的工藝水平下生產出功能更強大的CPU,但對于編譯器的設計有更高的要求。指令的組成操作碼說明計算機要執行哪種操作,如傳送、運算、移位、跳轉等操作,它是指令中不可缺少的組成部分操作數是指令執行的參與者,即各種操作的對象有些指令不需要操作數,通常的指令都有一個或兩個操作數,也有個別指令有3個甚至4個操作數有些指令隱含操作數操作碼操作數指令由操作碼和操作數兩部分組成指令的助記符格式操作數2,常被稱為源操作數src,它表示參與指令操作的一個對象操作數1,常被稱為目的操作數dest,它不僅可以作為指令操作的一個對象,還可以用來存放指令操作的結果分號后的內容是對指令的解釋 操作碼 操作數1,操作數2 ;注釋指令的操作碼和操作數每種指令的操作碼用一個助記符表示(指令功能的英文縮寫)對應著機器指令的一個或多個二進制編碼指令中的操作數可以是一個具體的數值可以是存放數據的寄存器或指明數據在主存位置的存儲器地址尋址與尋址方式 ——操作數尋址指令系統設計了多種操作數的來源尋找操作數的過程就是操作數的尋址把尋找操作數的方式叫做操作數的尋址方式理解操作數的尋址方式是理解指令功能的前提操作數采取哪一種尋址方式一方面,會影響處理器執行指令的速度和效率另一方面,對程序設計也很重要操作數的來源指 令寄 存 器內 存I/O設備或端口操作數立即數尋址方式指令中的操作數直接存放在機器代碼中,緊跟在操作碼之后(操作數作為指令的一部分存放在操作碼之后的主存單元中)這種操作數被稱為立即數imm可以是8位數值i8(00H~FFH)也可以是16位數值i16(0000H~FFFFH)立即數尋址方式常用來給寄存器和存儲單元賦值書上P87,圖3-3 示意圖立即數只能做原操作數,不能做目的操作數包含在指令中,不需要訪存,執行速度快MOV AX, 5678H ;AX←5678H寄存器尋址方式操作數存放在CPU的內部寄存器reg中8位寄存器r8:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器r16:AX、BX、CX、DX、SI、DI、BP、SP4個段寄存器seg:CS、DS、SS、ES寄存器名表示其內容(操作數)不需要訪問存儲器,速度快MOV AX, BX ;AX←BX存儲器尋址方式操作數在主存儲器中,用主存地址表示程序設計時,8088采用邏輯地址表示主存地址段地址在默認的或用段超越前綴指定的段寄存器中指令中只需給出操作數的偏移地址(有效地址EA 可以由幾部分構成)PA(物理地址)=(段寄存器)×10H + EA8086設計了多種存儲器尋址方式1、直接尋址方式2、寄存器間接尋址方式3、寄存器相對尋址方式4、基址變址尋址方式5、相對基址變址尋址方式(1) 直接尋址方式直接尋址方式的有效地址在指令中直接給出默認的操作數的段地址在DS段寄存器,可使用段超越前綴改變用中括號包含有效地址,表取存儲單元的內容P88,例子3-3MOV AX, [2000H] ;AX←DS:[2000H]MOV AX, ES: [2000H] ;AX←ES:[2000H]MOV AX,BUFFER ; BUFFER:符號地址(2) 寄存器間接尋址方式有效地址存放在基址寄存器BX、BP或變址寄存器SI、DI中對于BX、SI、DI,默認的段地址在DS段寄存器,可使用段超越前綴改變對于BP,默認的段地址在SS段寄存器,可使用段超越前綴改變P89 3-6注意:間接尋址可用寄存器只有4個。必須加上方括號,以免與寄存器尋址搞混??梢酝ㄟ^修改寄存器值,來對不同存儲單元進行同一種操作。數組操作。MOV AX, [BX] ;AX←DS:[BX]MOV AX, ES:[BX] ;AX←ES:[BX]MOV AH,DS:[BP]MOV ES:[DI],AL(3) 寄存器相對尋址方式有效地址是寄存器內容與有符號8位或16位位移量之和,寄存器可以是BX、BP或SI、DI有效地址=BX/BP/SI/DI+8/16位偏移量段地址對應BX/SI/DI寄存器默認是DS,對應BP寄存器默認是SS;可用段超越前 綴改變P90 例子:3-8,偏移地址可用符號表示。例子:3-9。相對尋址可以表示成幾種不同形式。MOV AX, [SI+06H] ;AX←DS:[SI+06H]MOV AX, 06H[SI] ;AX←DS:[SI+06H](4) 基址變址尋址方式有效地址由基址寄存器(BX或BP)的內容加上變址寄存器(SI或DI)的內容構成:有效地址=BX/BP+SI/DI段地址對應BX基址寄存器默認是DS,對應BP基址寄存器默認是SS;可用段超越前綴改變不允許把兩個基址或變址組合在一起。例子P91 3-12、3-13MOV AX, [BX+SI] ;AX←DS:[BX+SI]MOV AX, [BX][SI] ;AX←DS:[BX+SI](5) 相對基址變址尋址方式有效地址是基址寄存器(BX/BP)、變址寄存器(SI/DI)與一個8位或16位位移量之和:有效地址=BX/BP+SI/DI+8/16位偏移量段地址對應BX基址寄存器默認是DS,對應BP基址寄存器默認是SS;可用段超越前綴改變不允許把兩個基址或變址組合在一起。表示形式有6種,例子3-15MOV AX, [BX+DI+6] ;AX←DS:[BX+DI+6]MOV AX, 6[BX+DI]MOV AX, 6[BX。省略部分。P-2,SS:[SP]←IP②子程序返回指令RET根據段內和段間、有無參數,分成4種類型RET ;無參數段內返回RET i16 ;有參數段內返回RET ;無參數段間返回RET i16 ;有參數段間返回需要彈出CALL指令壓入堆棧的返回地址段內返回——斷點偏移地址IP出棧IP←SS:[SP], SP←SP+2段間返回——斷點偏移地址IP和段地址CS出棧IP←SS:[SP],SP←SP+2CS←SS:[SP],SP←SP+2例題-十六進制轉換為ASCII碼的子程序; 子程序:將DL低4位的一位16進制數轉換成ASCII碼htoasc proc and dl,0fh ; 只取DL的低4位 or dl,30h ; DL高4位變成3 cmp dl,39h ; 是0~9,還是0Ah~0Fh ? jbe htoend ; 是0~9,轉移 add dl,7 ; 是0Ah~0Fh,加上7 ; A:41H(65)htoend: ret ; 子程序返回htoasc endp; 主程序:調用子程序mov dl,28hcall htoasc(5) 中斷指令中斷(Interrupt)是又一種改變程序執行順序的方法8088CPU支持256個中斷,每個中斷用一個編號(中斷向量號)區別中斷指令有3條: INT i8 IRET INT O本節主要掌握類似子程序調用指令的中斷調用指令INT i8中斷指令格式INT i8; 中斷調用指令:產生i8號中斷; 主程序使用,其中i8表示中斷向量號IRET; 中斷返回指令:實現中斷返回; 中斷服務程序使用控制轉移指令小結無條件轉移指令 JMP (1)條件轉移指令JZ/JNZ JC/JNC JS/JNS JP/JNP JO/JNO (10)JA/JNA JB/JNB JG/JNG JL/JNL (8)循環控制指令LOOP LOOPZ LOOPNZ JCXZ (4)過程調用與返回指令CALL RET (2)中斷指令INT i8 INTO IRET (3)串操作類指令8088的串操作類指令能對內存中一個連續區域的數據(如字串、字符串等)進行傳送、比較等操作,指令有:傳送數據串:MOVS,STOS,LODS檢測數據串:CMPS,SCAS重復前綴:REP,REPZ,REPNZ串操作指令采用了特殊的尋址方式利用循環程序也可以實現串操作指令的功能串操作指令共同特點 源操作數 DS:[SI],可段超越 目的操作數ES:[DI],不可段超越指針SI、DI自動修正,方向取決于DF DF=0,增量;DF=1,減量可加REP/REPZ/REPNZ重復前綴,重復次數放在CX中格式上可以寫操作數,也可以加上‘B’(字節)或‘W’(字);MOVS和CMPS MOVS 目的串,源串 MOVSB ;字節串傳送 MOVSW;字串傳送 ;ES:[DI] ← DS:[SI] ;SI ← SI ± 1/2, DI ← DI ±1/2 ;cpu自動完成 CMPS 源串,目的串 CMPSB CMPSW ; DS:[SI] - ES:[DI] ;SI ← SI ± 1/2, DI ← DI ±1/2 ;對標志位有影響SCAS SCAS 目的串;scan string SCASB SCASW ;AX/AL - ES:[DI] ;DI ← DI ±1/2 ;對標志位有影響LODS和STOS LODS 源串 LODSB LODSW ;AX/AL ← DS:[SI] ;SI ← SI ± 1/2 STOS 目的串 STOSB STOSW ; ES:[DI] ← AX/AL ;DI ← DI ±1/2重復前綴 REP 若CX=0,則退出串處理循環,執行下一條指令 若CX≠ 0,則執行基本串操作,CX ← CX - 1 常與MOVS、STOS聯合使用 REPE/REPZ 重復執行操作的條件:CX ≠ 0且ZF=1,其余同REP 常與CMPS、SCAS聯合使用 REPNE/REPNZ 重復執行操作的條件:CX ≠ 0且ZF=0,其余同REP 常與CMPS、SCAS聯合使用串操作指令舉例 mov ax,0 mov ds,ax mov ax,2000H mov es,ax mov si,1000H mov di,0000H mov cx,64H cldagain: movsb loop again mov ax,0 mov ds,ax mov ax,2000H mov es,ax mov si,1000H mov di,0000H mov cx,64H cld rep movsb試編程將0000:1000H開始的100個字節傳送到2000:0000H開始的單元中去。串操作指令舉例 lea si,string1 lea di,string2 mov cx,50 cld repz cmpsb jz equal mov result,0ffh jmp exitequal: mov result, 0exit: hlt設STRING1是DS段中的一個50字節字符串,STRING2是ES段中的一個50字節字符串。試比較這兩個字符串是否全部相等。若全部相等,置字節單元RESULT為0;若不是全部相等,則RESULT置FFH。串操作指令小結串操作指令 MOVS CMPS SCAS LODS STOS (5)重復前綴REP REPZ REPNZ (3)處理器控制類指令(I)控制狀態標志位CLC ; 置CF=0STC ; 置CF=1CMC ; CF取反CLD ; 置DF=0STD ; 置DF=1CLI ; 置IF=0STI ; 置IF=1標志位操作舉例 pushf pop ax or ah,01H push ax popf8086/8088沒有直接對TF進行操作的指令。若要將TF置1(F第8位),可如此編程:處理器控制類指令(II)處理器控制類指令用來控制CPU的狀態,使CPU暫停、等待或空操作等NOP ;空操作指令HLT ;暫停指令:CPU進入暫停狀態還有其他指令: LOCK ESC WAIT指令格式及執行時間MOV DS,AX操作碼 8MOD 20SREG 2R/M 3100011100操作碼MOD0SREGR/M1000111011011000MOD、R/M查表REG查表總結本章展開了8088CPU指令系統的常用指令希望大家就如下幾個方面進行一下總結:操作數尋址方式和目的地址尋址方式指令支持的操作數形式常用指令的助記符和功能指令對標志的影響通過復習整理,形成指令系統的整體概念,進而掌握常用指令
關 鍵 詞:
chapter 接口 技術 chapter3 微機 原理
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:微機原理與接口技術-chapter3.ppt
鏈接地址: http://www.476824.live/p-51497124.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 pc蛋蛋外围算账 广西11选5彩经网 重庆龙虎计划软件 幸运飞艇官方走势图APP 吉林快3彩票 2019十大彩票信誉平台 开源股票分析软件排行榜 黑龙江p62今天开奖结果查询 陕西快乐10分钟百宝彩走势图 股市行情股票推荐