![計算機原理:第二章微型機指令系統(tǒng)1of4_第1頁](http://file4.renrendoc.com/view/62e3afdb74016e1408f65927066b7ff4/62e3afdb74016e1408f65927066b7ff41.gif)
![計算機原理:第二章微型機指令系統(tǒng)1of4_第2頁](http://file4.renrendoc.com/view/62e3afdb74016e1408f65927066b7ff4/62e3afdb74016e1408f65927066b7ff42.gif)
![計算機原理:第二章微型機指令系統(tǒng)1of4_第3頁](http://file4.renrendoc.com/view/62e3afdb74016e1408f65927066b7ff4/62e3afdb74016e1408f65927066b7ff43.gif)
![計算機原理:第二章微型機指令系統(tǒng)1of4_第4頁](http://file4.renrendoc.com/view/62e3afdb74016e1408f65927066b7ff4/62e3afdb74016e1408f65927066b7ff44.gif)
![計算機原理:第二章微型機指令系統(tǒng)1of4_第5頁](http://file4.renrendoc.com/view/62e3afdb74016e1408f65927066b7ff4/62e3afdb74016e1408f65927066b7ff45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 1第二章 微型機指令系統(tǒng) (地址a) 1011 0000B (a+ 1) 0011 0001B MOV AL, 31H; AL31H如果 CS:IP 指向物理地址 a, 即 CS:IP = a則存儲器a單元及a+1單元的內(nèi)容即為指令: 2指令形式:第二章 微型機指令系統(tǒng)匯編語言: 機器語言: 匯編 指令內(nèi)容: 做什么 對誰做兩種形式一一對應(yīng),可互相轉(zhuǎn)換。指令:程序員指揮計算機工作的最小單位指令系統(tǒng):一種CPU全部指令的集合 3 2.1 尋址方式尋址:尋找操作數(shù),以傳送指令為例說明操作數(shù)在指令中-立即尋址例:MOV AL , 31H ; AL31H(地址a) 操作碼: 1011 0000B (
2、a+ 1) 0011 0001B 立即數(shù)31H 4指令操作碼例:MOV AL , 31H ; AL31H 操作碼: 1011 0000 8 位 立即數(shù) 0011 0001 AL傳給R 立即數(shù)31H 516位傳送MOV AX , 3124H ; AL 24H , ;AH31H操作碼: 1011 1000B 16位傳給R 0010 0100B AX 0011 0001B多字節(jié)數(shù)在內(nèi)存中存放:低字節(jié)在前,高字節(jié)在后3124H 6P45 圖2.1 立即尋址方式(a) MOV CL, 05 (b) MOV AX, 3100H 7操作數(shù)在寄存器中-寄存器尋址指令中出現(xiàn)寄存器名例:MOV AH , AL ;
3、 AHAL 機器碼: 1000 1000B 1100 0100B源寄存器AL目標(biāo)寄存器AHCPU內(nèi)部執(zhí)行,不需要執(zhí)行總線周期 8P45 圖2.2 寄存器尋址方式MOV SS, AX- 91. 直接尋址EA在指令中MOV AX , 3100H ; AL DS : 3100H ; AH DS : 3100H +1 方括號中為有效地址 EA操作數(shù)在內(nèi)存中-尋找內(nèi)存地址 段 基 址 : 偏移地址 多數(shù)隱含 DS :有效地址 (EA)尋址方式 10P45 圖2.3 直接尋址方式MOV AX, 3100 (設(shè) DS=6000) 11操作數(shù)在內(nèi)存中EA在指令中 直接尋址 (見前述)EA在寄存器中(變址寄存器
4、SI,DI及基址寄存器BX,BP) 寄存器間接尋址EA為變址寄存器SI / DI 加地址位移量disp 變址尋址EA為基址寄存器BX / BP,加地址位移量disp 基址尋址EA為一個變址寄存器加一個基址寄存器,再加位移量 基址-變址尋址 12操作數(shù)在內(nèi)存中寄存器間接尋址- EA在寄存器中,指令中看到寄存器名例:MOV BX , DI ; BL DS : DI ; BH DS : D I + 1 允許作間址用的寄存器有 SI,DI,BX,BP用SI,DI,BX時段基址隱含在DS中,但用BP時段基址隱含在SS中 13P46 圖2.4 寄存器間接尋址方式(a) MOV BX, DI (b) MOV
5、 BP, AX 143. 變址尋址EA為變址寄存器SI / DI 加地址位移量disp例:MOV BX , SI + 1002H ; 或?qū)懗?1002H SI 兩字節(jié): BL DS : SI + 1002H BH DS : SI + 1002H +1 15P47 圖2.5 變址尋址方式MOV BX, SI+1003H 164. 基址尋址EA為基址寄存器BX / BP,加地址位移量disp例:MOV AX , 1002H BX ; AX DS : BX+ 1002H MOV AX , 40H BP ; AX SS : BP+ 40H 兩條都是16位傳送。 17隱含段寄存器基址尋址中用BX時段基址
6、和變址尋址一樣隱含在DS中,但基址尋址用BP時段基址隱含在SS中 18P48 圖2.6 基址尋址方式MOV 2500HBP, AX 195. 基址-變址尋址EA為一個變址寄存器加一個基址寄存器,再加位移量 例:MOV AX , 1004H BX SI ; AX DS : BX+ SI+ 1004H 不能同時用兩個變址(SI/DI),或同時用兩個基址寄存器(BX/BP) 20P49 圖2.7 基址-變址尋址方式MOV AX, 64HBXSI 21隱含段基址及段超越段基址一般隱含在DS中,但用BP時段基址隱含在SS中指令中也可以給出段超越信息 Ex. MOV ES:DI, AX對于給出段超越的指令
7、匯編后的機器碼中,在基本指令的操作碼字節(jié)前面有一個如下所示的段超越前綴字節(jié): 7 6 5 4 3 2 1 0 0 0 1 sreg 1 1 0 sreg: 00 01 10 11 ES CS SS DS 22隱含及允許超越的段寄存器 (P51表2.3)3. 串操作指令(MOVS、CMPS、SCAS、STOS)的目標(biāo)數(shù)據(jù)串 ES:DI一、不允許超越的情況:取指令 CS:IP2. 堆棧操作 PUSH的目標(biāo)操作數(shù)及POP的源操作數(shù) SS:SP 23隱含及允許超越的段寄存器 (P51表2.3)用BP作為基址寄存器 SS 允許超越為SS外的另三個段寄存器中的任一個二、允許超越但隱含段寄存器不為DS的情況
8、: 24隱含及允許超越的段寄存器 (P51表2.3)允許超越為DS外的另三個段寄存器中的任一個三、允許超越且隱含段寄存器為DS的情況: 25MOV dest, src ; 8位/16位寄存器立即數(shù) 或寄存器或內(nèi)存或內(nèi)存一.數(shù)據(jù)傳送指令MOV 一般傳送 2.2 8088指令系統(tǒng) 26交換指令XCHG 源和目標(biāo)數(shù)據(jù)互換,8 / 16b ex. XCHG AX, SI ; 源操作數(shù)與目標(biāo)操作數(shù)均可以是寄存器或存儲器, ; 但不能兩者同時為存儲器一條MOV指令不能:內(nèi)存 內(nèi)存段寄存器 立即數(shù)段寄存器 段寄存器 27查表轉(zhuǎn)換指令XLAT 用序號到表中查內(nèi)容 (AL) (BX)+(AL)),8b (寄存器
9、間接尋址)預(yù)置表首地址入 BX, 序號入 ALMOV BX, OFFSET Hex_table ; 置表首地址(16位立即數(shù))MOV AL, 0AH ; 序號入ALXLAT Hex_table ; 取表值 ; 得 (AL) = 41H內(nèi)存變量- 282.堆棧操作指令(PUSH, POP)堆棧:用于暫存數(shù)據(jù)的一段內(nèi)存 FILO:數(shù)據(jù)先進(jìn)后出 棧頂:最后壓入 / 即將彈出的單元地址為 SS :SP程序開始前設(shè)置SS :SP程序運行中堆棧操作會改變SP: 壓入(PUSH)堆棧時SP先減2(2Byte) 彈出(POP)堆棧后SP加2 29 PUSH AX ; 壓入堆棧(目標(biāo)地址隱含)POP AX ;
10、彈出堆棧 (源地址隱含)先壓入的后彈出,后壓入的先彈出,在一個用戶程序中,PUSH和POP一般成對使用,以保證SP復(fù)原 30存儲器SP初始指向棧底。壓入時先SP-2,后存數(shù)- (SS)*10H 物理地址 物理地址 SS:SP 31P57圖2.9 PUSH AX 指令執(zhí)行情況示意圖(a) PUSH AX 前 (b) PUSH AX 后 32P57圖2.10 POP BX 指令執(zhí)行情況示意圖(a) POP BX 前 (b) POP BX 后+ 33 IN / OUT 輸入輸出 (用于外設(shè)端口接受發(fā)送數(shù)據(jù))例: IN AL, 60H ; AL Port60H , OUT 62H, AL ; Port
11、62H AL IN AX, DX ; 間址輸入,且輸入2字節(jié) ; AL DX , AH DX+1MOV DX, 200H ;16位I / O地址OUT DX, AL ; 用DX作間址輸出 OUT 62H, AX ; 輸出2字節(jié) ; Port62H AL, Port63H AH 34引腳信號P22 圖1.128088引腳 35內(nèi)存變量 與 偽指令 OFFSETMOV BX, OFFSET Hex_table ; 置表首地址(16位立即數(shù))MOV AL, 0AH ; 序號入ALXLATB ; 取表值, ;即得 (AL) = 41H內(nèi)存變量-則 匯編語言中 OFFSET Hex_table 經(jīng)匯編得
12、到一個具體數(shù)值, 即,Hex_table 的偏移地址 36 LEA 裝入有效地址例:LEA BX , BUFFER ;BUFFER 是內(nèi)存變量 ;BX BUFFER的偏移地址4.目標(biāo)地址傳送注意:MOV BX, BUFFER ; BX (BUFFER) ; 即,BL (BUFFER), BH (BUFFER+1) ; BUFFER 單元中的內(nèi)容存入BX,尋址方式為直接尋址 LEA BX , BUFFER ; 尋址方式為立即尋址 ; 等價于 MOV BX, OFFSET BUFFER即,MOV BX, BUFFER 等價于:MOV BX, ? ; ? = OFFSET BUFFER 37目標(biāo)地址
13、傳送LEA AX , BETA BP DI ; AX (BP)+(DI)+BETA ; BETA 為位移量注意:MOV AX, BETABPDI ; 為 AX (SS:(BP)+(DI)+BETA) ;為基址-變址尋址 38目標(biāo)地址傳送 LDS 傳送內(nèi)存四單元內(nèi)容作偏移地址和段基址例:LDS SI , 10H ; SI (DS:11H),(DS:10H ); DS (DS: 13H ),(DS:12H )32位源操作數(shù)只能是內(nèi)存操作數(shù)DS可換成ES (即有 LES) ,SI可換成其他通用寄存器 39二. 算術(shù)運算指令加法指令2.減法指令3.乘法指令4.除法指令算術(shù)運算:加減乘除,8位/16位運
14、算類指令和標(biāo)志寄存器關(guān)系密切 401.加法指令 ADD dest, src ; 8位/16位 ( dest) (dest) + (src) ADC dest , src ;帶進(jìn)位相加, 用于更多字節(jié)的加法 ( dest) (dest) + (src)+(CF) INC dest ;增一計數(shù), 影響大多數(shù)標(biāo)志位,但不影響進(jìn)位標(biāo)志CF ( dest) (dest) + 1 41十進(jìn)制運算十進(jìn)制數(shù)以二進(jìn)制編碼表示時,有: 非壓縮BCD碼 (如 34D = 0000001100000100 (BCD) 壓縮BCD碼 (如 12D = 00010010 (BCD)如假設(shè): 計算機內(nèi)部的算術(shù)運算只(設(shè)計成
15、)針對操作數(shù)為二進(jìn)制數(shù)的運算則讓計算機完成十進(jìn)制(BCD碼)最簡單的辦法則有: 十進(jìn)制(BCD碼) 轉(zhuǎn)換成二進(jìn)制 二進(jìn)制運算 結(jié)果轉(zhuǎn)換成十進(jìn)制(BCD碼)但對加法的每一位非壓縮BCD碼、每2位壓縮BCD碼,可省去由十進(jìn)制(BCD碼)轉(zhuǎn)換成二進(jìn)制這一步驟,且將其當(dāng)作二進(jìn)制運算后的結(jié)果可以低成本地轉(zhuǎn)換成十進(jìn)制(BCD碼) 42 加法的BCD調(diào)整用二進(jìn)制加法器進(jìn)行BCD加,結(jié)果按BCD理解 有時正確: 小于等于9并且沒有進(jìn)位; 有時錯誤: 即該進(jìn)位沒有產(chǎn)生進(jìn)位,或有進(jìn)位 但為滿16進(jìn)位。對于錯誤,可按十進(jìn)制規(guī)律調(diào)整正確。對此,設(shè)計一條指令:判斷相加結(jié)果是否正確,若不正確調(diào)整成正確。對非壓縮BCD碼調(diào)
16、整的調(diào)整指令為:AAA 該指令不帶參數(shù),其隱含的源操作數(shù)和目標(biāo)操作數(shù)均為AL 43例:7 + 5 = 12DBCD碼: 0111 +) 0101 1100 不是BCD碼 +)0110 加6 (等價減0AH) 0001 0010 = (AL)調(diào)整后: (AH) (AH)+1, (CF) (AF) 1 0000 0010 = (AL)AAA 的調(diào)整方法(對不壓縮BCD碼): 如果 (AL&0FH)9 或 (AF)=1 則 (AL) (AL)+6, (AH) (AH)+1, (CF) (AF) 1 (AL) (AL)&0FH)44AAA 不壓縮BCD碼的加法調(diào)整 不壓縮BCD碼作ADD/ADC后結(jié)果
17、在AL中,經(jīng)AAA調(diào)整后得正確BCD (一位十進(jìn)制數(shù)) ,進(jìn)位到AH和CF。僅用于對AL的8位加法AAA 指令A(yù)L的高4位置0,僅保留低4位。所以可直接用于ASCII碼數(shù)調(diào)整。 45P67例2.3 計算 4609 + 3875 = ? P68圖2.17 數(shù)據(jù)存放情況示意圖ASCII碼非壓縮BCD碼- MOV AL, SI- ADC AL, BX- AAA- MOV DI, AL圖2.18 流程圖 46 EX. 9 + 5 = 39H + 35H = 6EH 調(diào)整前 (AL) = 6EH則調(diào)整后(即執(zhí)行 AAA 后), 有 (AL) =04H (AH) = 01H (CF)=(AF)=1 47D
18、AA 壓縮BCD碼的加法調(diào)整 目標(biāo):壓縮BCD碼作ADD/ADC后結(jié)果在AL中,經(jīng)DAA調(diào)整后得正確BCD(兩位十進(jìn)制數(shù)),進(jìn)位到CF。 方法:AH內(nèi)容保持不變,而在調(diào)整上, 個位上,當(dāng) (AF)=1或當(dāng)9時 則加6; 十位上,當(dāng)9(即(AL)大于9FH)或 (CF)=1 則加60H及置CF為1。 48例:71D + 52D = 123DBCD碼: 01110001 +) 01010010 11000011 不是BCD碼 +)01100000 加60H (十位上調(diào)整) 00100011 = (AL)調(diào)整后: (CF) 1 0010 0011 = (AL)DAA 的調(diào)整方法: 如果 (AL&0FH)9 或 (AF)=1 則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西西林縣苗族民歌之分析研究
- 公司紙巾采購合同范本
- 會議合同范本1
- 公司買賣車合同范本
- 農(nóng)村個人購房合同范本
- 2025年度智慧城市照明系統(tǒng)建設(shè)項目分包合同模板
- 作品授權(quán)合同范本
- 修車廠招工合同范例
- 圓模三角帶行業(yè)深度研究報告
- 勞務(wù)合同范本超齡
- 無損檢測射線檢測工藝規(guī)程
- anthone溫控儀說明書LU920
- 童年創(chuàng)傷問卷(CTQ-含評分說明)
- 人教部編版小學(xué)五年級語文下冊 第三單元綜合性學(xué)習(xí)《我愛你,漢字》優(yōu)質(zhì)課教案
- 工廠主文件(新)
- 儀表基礎(chǔ)知識培訓(xùn).ppt課件
- 20以內(nèi)分成表算式x
- 井下探放水設(shè)計編制培訓(xùn)PPT課件
- 營養(yǎng)學(xué)緒論(精)
- 最新ICD-9手術(shù)編碼
- 軟件項目報價方法參考模板
評論
0/150
提交評論