微機原理與接口技術(shù)知識點總結(jié)_第1頁
微機原理與接口技術(shù)知識點總結(jié)_第2頁
微機原理與接口技術(shù)知識點總結(jié)_第3頁
微機原理與接口技術(shù)知識點總結(jié)_第4頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.微機原理與接口技術(shù)第一章概述二、計算機中的碼制 (重點)P51、對于符號數(shù) ,機器數(shù)常用的表示方法有原碼、 反碼和補碼三種 。注意 :對正數(shù) ,三種表示法均相同。它們的差別在于對負數(shù)的表示。( 1)原碼定義 :符號位:0 表示正 ,1 表示負 ;數(shù)值位 :真值的絕對值。注意 :數(shù) 0 的原碼不唯一(2)反碼定義 :若 X0 , 則X 反 = 對應(yīng)原碼的符號位不變,數(shù)值部分按位求反( 3)補碼定義:若 X0 , 則X補= X 反+12、 8 位二進制的表示范圍:原碼 : -127+127反碼 : -127+127補碼 : -128+1273、特殊數(shù) 10000000該數(shù)在原碼中定義為: -0.

2、專業(yè)資料 .在反碼中定義為: -127在補碼中定義為: -128對無符號數(shù) : (10000000) = 128三、信息的編碼1、 字符的編碼P8計算機采用7 位二進制代碼對字符進行編碼(1 )數(shù)字 09 的編碼是01100000111001,它們的高3 位均是 011 ,后 4 位正好與其對應(yīng)的二進制代碼( BCD 碼)相符 。( 2 )英文字母 AZ 的 ASCII 碼從 1000001 ( 41H )開始順序遞增 ,字母 az 的 ASCII 碼從1100001 ( 61H )開始順序遞增,這樣的排列對信息檢索十分有利。第二章微機組成原理第一節(jié)、微機的結(jié)構(gòu)1、計算機的經(jīng)典結(jié)構(gòu) 馮 .諾依

3、曼結(jié)構(gòu)P11(1 )微機由 CPU(運算器和控制器)、存儲器和I/O 接口組成2、 系統(tǒng)總線的分類(1 )數(shù)據(jù)總線 ( Data Bus ), 它決定了處理器的字長。.專業(yè)資料 .(2 )地址總線 ( Address Bus ) ,它決定系統(tǒng)所能直接訪問的存儲器空間的容量。(3 )控制總線 ( Control Bus )第二節(jié)、8086 微處理器1、 8086 ,其內(nèi)部數(shù)據(jù)總線的寬度是16 位, 16 位 CPU。 外部數(shù)據(jù)總線寬度也是16 位8086 地址線位20 根,有 1MB ( 220 )尋址空間 。 P272、 8086CPU 從功能上分成兩部分:總線接口單元 ( BIU )、 執(zhí)行

4、單元 ( EU)BIU:負責 8086CPU 與存儲器之間的信息傳送。 EU:負責指令的執(zhí)行。 P284、寄存器結(jié)構(gòu) (重點)1)數(shù)據(jù)寄存器特有的習慣用法P30AX : (Accumulator)累加器 。多用于存放中間運算結(jié)果。所有 I/O 指令必須都通過AX 與接口傳送信息 ;BX: (Base)基址寄存器 。 在間接尋址中用于存放基地址;CX: (Counter) 計數(shù)寄存器 。 用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復(fù)次數(shù);DX : (Data) 數(shù)據(jù)寄存器 。 在 32 位乘除法運算時,存放高 16 位數(shù);在間接尋址的I/O 指令中存放I/O 端口地址 。2)、 指針和變址寄存器P

5、31SP: (Stack Pointer) 堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂?;BP:(Base Pointer) 基址指針寄存器,常用于在訪問內(nèi)存時存放內(nèi)存單元的偏移地址。SI: (Source Index) 源變址寄存器Index: 指針DI : (Destination Index)目標變址寄存器變址寄存器常用于指令的間接尋址或變址尋址。.專業(yè)資料 .3)、 段寄存器P28CS: (Code Segment)代碼段寄存器 ,代碼段用于存放指令代碼DS:(Data Segment)數(shù)據(jù)段寄存器ES: (Extra Segment)附加段寄存器,數(shù)據(jù)段和附加段用來存放操作數(shù)SS:(Sta

6、ck Segment) 堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)4)、 指令指針 ( IP) P2916 位指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址。5)、 標志寄存器( 1)狀態(tài)標志 : P30進位標志位 ( CF): (CarryFlag) 運算結(jié)果的最高位有進位或有借位,則 CF=1。Carry:進位Auxiliary : 輔助輔助進位標志位( AF): (AuxiliaryCarryFlag) 運算結(jié)果的低四位有進位或借位, 則AF=1溢出標志位 ( OF): (Overflow Flag)運算結(jié)果有溢出,則 OF=1零標志位 ( ZF): (Zero

7、 Flag) 反映指令的執(zhí)行是否產(chǎn)生一個為零的結(jié)果符號標志位 ( SF): (Sign Flag) 指出該指令的執(zhí)行是否產(chǎn)生一個負的結(jié)果奇偶標志位 ( PF): (Parity Flag) 表示指令運算結(jié)果的低8 位 “1個”數(shù)是否為偶數(shù)( 2 )控制標志位中斷允許標志位 (IF): (Interrupt Flag) 表示 CPU 是否能夠響應(yīng)外部可屏蔽中斷請求跟蹤標志 ( TF): (Trap Flag)CPU 單步執(zhí)行5、 8086 的引腳及其功能(重點掌握以下引腳) P34.專業(yè)資料 .AD 15AD0 :雙向三態(tài)的地址總線,輸入 / 輸出信號INTR :(InterruptReques

8、t) 可屏蔽中斷請求輸入信號,高電平有效 。 可通過設(shè)置IF 的值來控制 。NMI : (Non_Maskable Interrupt)非屏蔽中斷輸入信號。不能用軟件進行屏蔽。RESET: (Reset) 復(fù)位輸入信號 ,高電平有效 。 復(fù)位的初始狀態(tài)見P21MN/MX: (Minimum/Maximum)最小最大模式輸入控制信號。第三章8086 指令系統(tǒng)第一節(jié) 8086 尋址方式一、數(shù)據(jù)尋址方式(重點)1、立即尋址P46操作數(shù) (為一常數(shù) )直接由指令給出(此操作數(shù)稱為立即數(shù))立即尋址只能用于源操作數(shù)指令操作例 : MOV AX , 3102H;執(zhí)行后 , (AH) = 31H,(AL) =

9、 02H2、寄存器尋址P47( 1 )操作數(shù)放在某個寄存器中( 2 )源操作數(shù)與目的操作數(shù)字長要相同( 3 )寄存器尋址與段地址無關(guān).專業(yè)資料 .3、直接尋址P48(1 )指令中直接給出操作數(shù)的16 位偏移地址偏移地址也稱為有效地址(EA, EffectiveAddress)( 2 )默認的段寄存器為 DS,但也可以顯式地指定其他段寄存器 稱為段超越前綴( 3 )偏移地址也可用符號地址來表示 ,如 ADDR 、 VAR例:MOVAX ,2A00H用表示數(shù)字存放的地址MOVDX ,ES:2A00HMOVSI,TABLE_PTR4、間接尋址P48操作數(shù)的偏移地址(有效地址 EA)放在寄存器中只有

10、SI、DI 、 BX 和 BP 可作間址寄存器SI、DI 、 BX 默認段地址DSBP 默認段地址SS例: MOVAX,BXMOVCL,CS:DI錯誤例:MOVAX, DX5、寄存器相對尋址P49EA= 間址寄存器的內(nèi)容加上一個8/16 位的位移量例:MOVAX,BX+8MOVCX,TABLESIMOVAX,BP;BX.SI.DI 默認段寄存器DS, BP 默認段寄存器為SS.專業(yè)資料 .指令操作例 : MOVAX, DATABX若 (DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H則物理地址= 60000H + 100

11、0H + 2A00H = 63A00H指令執(zhí)行后 :( AX) =5566H6、基址變址尋址P51若操作數(shù)的偏移地址:EA= 基址寄存器 (BX 或 BP)+ 變址寄存器 (SI 或 DI)同一組內(nèi)的寄存器不能同時出現(xiàn)。錯誤例 :MOVAX,BX BP7、相對基址變址尋址P51EA= 基址寄存器 (BX 或 BP)+ 變址寄存器 (SI 或 DI)+8 位或 16 位位移量 ;指令操作例 : MOV AX , DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H則指令執(zhí)行后 (AH)=83021H,(AL)=83020H寄存器間接 、寄存

12、器相對 、基址變址 、相對基址變址四種尋址方式的比較:尋址方式指令操作數(shù)形式寄存器間接只有一個寄存器( BX/BP/SI/DI之一).專業(yè)資料 .寄存器相對一個寄存器加上位移量基址 變址兩個不同類別的寄存器相對基址 - 變址兩個不同類別的寄存器加上位移量第二節(jié)8086 指令系統(tǒng)一、數(shù)據(jù)傳送指令(重點)1 、 數(shù)據(jù)傳送類指令(特點:除 SAHFPOPF 外均不影響 FR) P541. 通用MOVdst ,src堆棧: PUSHPOP交換: XCHG查表: XLAT2. 標志LAHFSAHFPUSHFPOPF3.地址:LEALDSLES4.輸入 輸出: INOUT(1) MOV dest,src

13、; dest src傳送的是字節(jié)還是字取決于指令中涉及的寄存器是8 位還是 16 位。.專業(yè)資料 .具體來說可實現(xiàn):MOVmem/reg1, mem/reg2指令中兩操作數(shù)中至少有一個為寄存器MOV 指令的使用規(guī)則IP 不能作目的寄存器不允許 mem mem不允許 segreg segreg立即數(shù)不允許作為目的操作數(shù)不允許 segreg 立即數(shù)源操作數(shù)與目的操作數(shù)類型要一致 當源操作數(shù)為單字節(jié)的立即數(shù),而目的操作數(shù)為間址、變址 、基址 + 變址的內(nèi)存數(shù)時,必須用 PTR 說明數(shù)據(jù)類型 。 如: MOV BX , 12H是錯誤的 。( 2 )、 堆棧指令 P54堆棧以 字為單位進行壓入彈出操作

14、。.專業(yè)資料 .規(guī)定由 SS 指示堆棧段的段基址,堆棧指針SP 始終指向堆棧的頂部, SP 的初值規(guī)定了所用堆棧區(qū)的大小。堆棧的最高地址叫棧底。壓棧指令PUSHPUSHsrc; src 為 16 位操作數(shù)例: PUSHAX;將 AX 內(nèi)容壓棧執(zhí)行操作 :( SP) -1 高字節(jié) AH(SP) -2 低字節(jié) AL(SP)( SP) - 2注意進棧方向是高地址向低地址發(fā)展。彈出指令POPPOPdest例: POPBX;將棧頂內(nèi)容彈至BX執(zhí)行操作 :( BL)( SP)( BH)( SP)+1( SP)( SP) +2堆棧指令在使用時需注意的幾點:堆棧操作總是按字進行.專業(yè)資料 .不能從棧頂彈出一個

15、字給CS堆棧指針為SS:SP, SP 永遠指向棧頂SP 自動進行增減量( -2 , +2 )(3 )、 交換指令 XCHG P54格式 : XCHGreg , mem/reg功能 :交換兩操作數(shù)的內(nèi)容。要求 :兩操作數(shù)中必須有一個在寄存器中;操作數(shù)不能為段寄存器和立即數(shù);源和目地操作數(shù)類型要一致。( 4 )查表指令 XLAT P57執(zhí)行的操作 : AL (BX)+(AL)又叫查表轉(zhuǎn)換指令 ,它可根據(jù)表項序號查出表中對應(yīng)代碼的內(nèi)容 。 執(zhí)行時先將表的首地址(偏移地址 )送到 BX 中,表項序號存于 AL 中 。2 、輸入輸出指令P57只限于用累加器AL 或 AX 來傳送信息 。功能 : (累加器

16、 ) I/O 端口( 1 ) 輸入指令 IN格式 :IN acc,PORT ;PORT 端口號 0 255H.專業(yè)資料 .IN acc,DX;DX 表示的端口范圍達64K例 :IN AL , 80H ;(AL) (80H 端口 )IN AL , DX;(AL)(DX)(2) 輸出指令 OUT格式 : OUTport,accOUTDX,acc例: OUT 68H , AX;(69H ,68H) ( AX)OUT DX ,AL;(DX)(AL)在使用間接尋址的IN/OUT 指令時 ,要事先用傳送指令把I/O 端口號設(shè)置到DX 寄存器如:MOVDX,220HINAL,DX; 將 220H 端口內(nèi)容讀

17、入AL3、目標地址傳送指令P58(1) LEA傳送偏移地址格式 : LEA reg , mem; 將指定內(nèi)存單元的偏移地址送到指定寄存器要求 :1) 源操作數(shù) 必須是一個 存儲器操作數(shù) ;2) 目的操作數(shù)必須是一個 16 位的通用寄存器 。.專業(yè)資料 .例: LEABX, SI+10H設(shè):( SI) =1000H則執(zhí)行該指令后,( BX) =1010H注意以下二條指令差別:LEA BX, BUFFERMOV BX , BUFFER前者表示將符號地址為BUFFER的存儲單元的偏移地址取到BX 中 ;后者表示將BUFFER存儲單元中的內(nèi)容取到BX 中 。下面兩條指令等效:LEA BX, BUFFE

18、RMOV BX, OFFSET BUFFER其中 OFFSET BUFFER 表示存儲器單元BUFFER 的偏移地址 。二者都可用于取存儲器單元的偏移地址,但 LEA 指令可以取動態(tài)的地址, OFFSET只能取靜態(tài)的地址 。二、算術(shù)運算類指令(特點:除 CBWCWD 外均影響 FR)P601. 加法: ADD ADC2. 減法: SUB SBB CMP3.加 1減 1:INCDEC.專業(yè)資料 .4. 求補: NEC5.乘法:MUL(無符號數(shù) )IMUL(帶符號數(shù) )6.除法:DIV (無符號數(shù) )IDIV(帶符號數(shù) )7.擴展:CBW(BW)CWD (W DW )8.十進制調(diào)整 : 1)加法:

19、DAA (組合)AAA (未組合)2)減法:DAS (組合)AAS(未組合)3)乘法:AAM (未組合)4)除法:AAD乘、除法指令注意事項 :1. 無符號與帶符號數(shù)所用指令不同 ;2. 八位乘法時 ,必有一個乘數(shù)在 AL 中,積在 AX 中;十六位乘法時 ,必有一個乘數(shù)在 AX 中,積在 DX( 高 16 位) 與 AX( 低 16 位)中;3. 八位除法時 ,被除數(shù)在 AX 中(16 位 ),商在 AL,余數(shù)在 AH ;十六位除法時 ,被除數(shù)在 DX(高 16 位)與 AX( 低 16 位)中,商在AX ,余數(shù)在 DX;4. 十進制調(diào)整時 ,乘、除法均只能使用未組合 BCD 碼,并且除法是

20、先調(diào)整后運算 。1、 加法指令P61.專業(yè)資料 .(1) 不帶進位的加法指令 ADD格式 :ADDacc,dataADDmem/reg,dataADDmem/reg1,mem/reg2?ADD 指令對 6 個狀態(tài)標志均產(chǎn)生影響。判斷溢出與進位(重點)從硬件的角度 :默認參與運算的操作數(shù)都是有符號數(shù),當兩數(shù)的符號位相同,而和的結(jié)果相異時有溢出 ,則 OF=1 ,否則 OF=0(2 )帶進位的加法 ADC (Add with Carry) P62ADC 指令在形式上和功能上與ADD 類似 ,只是相加時還要包括進位標志CF 的內(nèi)容,例如:ADCAL, 68H ;AL(AL)+68H+(CF)ADCA

21、X, CX;AX(AX)+(CX)+(CF)ADCBX,DI;BX(BX)+DI+1DI+(CF)( 3 )加 1 指令 INC (Increment)格式 : INCreg/mem功能 :類似于 C 語言中的 + 操作:對指定的操作數(shù)加1注:本指令不影響 CF 標志 。.專業(yè)資料 .2、 減法指令P63( 1 )不考慮借位的減法指令 SUB (Subtraction)格式 : SUBdest, src注: 1.源和目的操作數(shù)不能同時為存儲器操作數(shù)2.立即數(shù)不能作為目的操作數(shù)(2 )考慮借位的減法指令SBB(Subtraction with Carry)SBB 指令主要用于多字節(jié)的減法。格式

22、: SBBdest, src操作 : dest (dest)-(src)-(CF)(3 )減 1 指令 DEC(Decrement)格式 :DECopr操作 :opr (opr)-1( 4 )求補指令 NEG (Negate)格式 : NEG opr操作 : opr 0-(opr)對一個操作數(shù)取補碼相當于用0 減去此操作數(shù) ,故利用 NEG 指令可得到負數(shù)的絕對值。例:若 (AL)=0FCH ,則執(zhí)行NEG AL 后,(AL)=04H , CF=1.專業(yè)資料 .(5 )比較指令CMP格式 : CMPdest, src操作 : (dest)-(src)CMP 也是執(zhí)行兩個操作數(shù)相減,但結(jié)果不送目

23、標操作數(shù),其結(jié)果只反映在標志位上。(4 )非壓縮 BCD 碼加法調(diào)整指令A(yù)AA P68AAA 指令的操作 :如果 AL 的低 4 位9 或 AF=1 ,則: AL (AL)+6,(AH) (AH)+1,AF 1 AL高4位清零 CFAF否則AL高4位清零(5 )壓縮 BCD 碼加法調(diào)整指令DAAP68兩個壓縮BCD 碼相加結(jié)果在AL 中,通過 DAA 調(diào)整得到一個正確的壓縮BCD 碼.指令操作 (調(diào)整方法 ):若 AL 的低 4 位9 或 AF=1則 (AL)(AL)+6 , AF 1若 AL 的高 4 位9 或 CF=1則 (AL)(AL)+60H ,CF1除 OF 外, DAA 指令影響所

24、有其它標志 。DAA 指令應(yīng)緊跟在 ADD 或 ADC 指令之后 。.專業(yè)資料 .( 6 )非壓縮 BCD 碼減法調(diào)整指令 AAS對 AL 中由兩個非壓縮的 BCD 碼相減的結(jié)果進行調(diào)整 。 調(diào)整操作為 :若 AL 的低 4 位9 或 AF=1, 則: AL (AL)-6,AH (AH)-1,AF 1 AL的高4位清零 CFAF否則:AL 的高 4 位清零( 7 )壓縮 BCD 碼減法調(diào)整指令 DAS對 AL 中由兩個壓縮 BCD 碼相減的結(jié)果進行調(diào)整 。調(diào)整操作為 :若 AL 的低 4 位9 或 AF=1, 則:AL(AL)-6,且 AF1若 AL 的高 4 位9 或 CF=1,則:AL(A

25、L)-60H ,且 CF 1DAS 對 OF 無定義 ,但影響其余標志位。DAS 指令要求跟在減法指令之后。3、 乘法指令P65進行乘法時 : 8 位 *8 位 16 位乘積16 位 *16 位 32 位乘積.專業(yè)資料 .(1) 無符號數(shù)的乘法指令MUL(MEM/REG)格式 : MULsrc操作 :字節(jié)操作數(shù)(AX) (AL) (src)字操作數(shù)(DX, AX) (AX) (src)指令例子 :MULBL; (AL) ( BL),乘積在 AX 中MULCX; (AX) (CX),乘積在 DX,AX 中( 2 )有符號數(shù)乘法指令 IMUL格式與 MUL 指令類似 ,只是要求兩操作數(shù)均為 有符號

26、數(shù) 。指令例子 :IMULBL; (AX) (AL) (BL)IMULWORD PTRSI ;(DX,AX) (AX) (SI+1SI)注意 : MUL/IMUL指令中 AL(AX) 為隱含的乘數(shù)寄存器 ; AX(DX,AX) 為隱含的乘積寄存器 ; SRC 不能為立即數(shù) ; 除 CF 和 OF 外,對其它標志位無定義。.專業(yè)資料 .4、除法指令P66進行除法時 :16 位/8 位8 位商32 位 /16 位16 位商對被除數(shù) 、商及余數(shù)存放有如下規(guī)定 :被除數(shù)商余數(shù)字節(jié)除法AXALAH字除法DX:AXAXDX( 1 )無符號數(shù)除法指令 DIV(Division)格式 : DIVsrc操作 :

27、字節(jié)操作(AL) (AX) / (SRC) 的商(AH) (AX) / (SRC) 的余數(shù)字操作(AX) (DX, AX) / (SRC)的商(DX) (DX, AX) / (SRC)的余數(shù)(2 )有符號數(shù)除法指令I(lǐng)DIV(Integer division)格式 : IDIVsrc操作與 DIV 類似 。 商及余數(shù)均為有符號數(shù),且余數(shù)符號總是與被除數(shù)符號相同。注意 : 對于 DIV/IDIV指令A(yù)X(DX,AX) 為隱含的被除數(shù)寄存器。AL(AX) 為隱含的商寄存器。AH(DX) 為隱含的余數(shù)寄存器。.專業(yè)資料 .src 不能為立即數(shù)。對所有條件標志位均無定關(guān)于除法操作中的字長擴展問題?除法運

28、算要求被除數(shù)字長是除數(shù)字長的兩倍,若不滿足則需對被除數(shù)進行擴展,否則產(chǎn)生錯誤。?對于無符號數(shù)除法擴展,只需將 AH 或 DX 清零即可 。?對有符號數(shù)而言,則是符號位的擴展??墒褂们懊娼榻B過的符號擴展指令CBW 和 CWD三、邏輯運算類指令(特點:均影響 FR)P701. 與: AND2. 或: OR3. 異或:XOR4. 非: NOT5. 測試: TEST移位指令1.邏輯移位 : 左移SHL右移SHR2.算術(shù)移位 : 左移SAL右移SAR3. 循環(huán)移位 :1).不帶 CF: 左移ROL右移ROR2).帶 CF: 左移RCL右移RCR1、邏輯運算指令( 1 )邏輯與 AND.專業(yè)資料 .對兩個

29、操作數(shù)進行按位邏輯“與 ”操作 。格式 :ANDdest, src用途 :保留操作數(shù)的某幾位,清零其他位 。(2)邏輯或 OR對兩個操作數(shù)進行按位邏輯”或 ”操作 。格式 : ORdest, src用途 :對操作數(shù)的某幾位置1;對兩操作數(shù)進行組合。例 1:把 AL 中的非壓縮BCD 碼變成相應(yīng)十進制數(shù)的ASCII 碼 。ORAL, 30H( 3 )邏輯非 NOT對操作數(shù)進行按位邏輯”非 ”操作。 格式 :NOTmem/reg(4 )邏輯異或XOR對兩個操作數(shù)按位進行”異或 ”操作。格式 : XORdest, src用途 :對 reg 清零 (自身異或 )把 reg/mem 的某幾位變反 (與1

30、異或 )例 1:把 AX 寄存器清零 。.專業(yè)資料 . MOVAX,0 XORAX,AXANDAX,0 SUBAX,AX( 5 )測試指令 TEST操作與 AND 指令類似 ,但不將 ”與 ”的結(jié)果送回 ,只影響標志位 。TEST 指令常用于位測試,與條件轉(zhuǎn)移指令一起用。例:測試 AL 的內(nèi)容是否為負數(shù)。TESTAL,80H;檢查 AL 中 D7=1 ?JNZMINUS;是 1(負數(shù) ),轉(zhuǎn) MINUS ;否則為正數(shù)2、移位指令(1) 非循環(huán)移位指令 (重點)P72算術(shù)左移指令SAL(Shift Arithmetic Left)算術(shù)右移指令SAR(Shift Arithmetic Right)

31、邏輯左移指令SHL(Shift Left)邏輯右移指令SHR(Shift Right)這 4 條指令的格式相同 ,以 SAL 為例 :CL;移位位數(shù)大于1 時SALmem/reg1 ;移位位數(shù)等于 1 時算術(shù)移位 把操作數(shù)看做有符號數(shù) ;邏輯移位 把操作數(shù)看做無符號數(shù)。.專業(yè)資料 .移位位數(shù)放在CL 寄存器中 ,如果只移1 位,也可以直接寫在指令中。例如:MOVCL,4SHR AL,CL ; AL 中的內(nèi)容右移4 位影響 C,P,S,Z,O 標志 。結(jié)果未溢出時:左移 1 位 操作數(shù) *2右移 1 位 操作數(shù) /2例:把 AL 中的數(shù) x 乘 10因為 10=8+2=2 3+2 1,所以可用移

32、位實現(xiàn)乘10 操作 。 程序如下 :MOVCL,3SALAL,1; 2xMOVAH,ALSALAL,1; 4 xSALAL,1; 8 xADDAL,AH; 8 x+2 x = 10 x四、 控制轉(zhuǎn)移類指令 :P80一 )、無條件轉(zhuǎn)移JMP1. 近轉(zhuǎn)移 ( 段內(nèi) ) (NEAR PTR).專業(yè)資料 .1). 直接 (相對尋址 ):短轉(zhuǎn)移 (SHORT)IP IP + disp (8位 )如:JMPn長轉(zhuǎn)移IP IP + disp (16位)如:JMPnn2). 間接:IP reg (16位)IP mem (16位)如:JMPBX2. 遠轉(zhuǎn)移 (段間 ) (FAR PTR)1). 直接:CS =

33、指令中給出的段地址IP =指令中給出的 EA如:JMP段:偏2). 間接:CS = mem+2(16 位)IP = mem(16 位 )如: JMPDWORDPTR BX二)、 條件轉(zhuǎn)移Jcc1. 單測試條件指令10CJC / JNAE / JBJNC / JAE / JNBZJZ/JEJNZ / JNESJSJNSPJP / JPEJNP / JPOOJOJNO.專業(yè)資料 .2. 復(fù)合測試條件指令即 AB無符號數(shù)帶符號數(shù)=JZJZJNZJNZJC / JB / JNAEJL / JNGEJA / JNBEJG / JNLEJBE / JNAJLE / JNGJNC / JAE / JNBJG

34、E / JNL三).循環(huán)控制指令1.循環(huán)轉(zhuǎn)移指令LOOP(相當于:DECCXJNZn)2. 相等 (為零 ) 循環(huán)轉(zhuǎn)移指令 LOOPE/LOOPZ3. 不相等 (不為零 ) 循環(huán)轉(zhuǎn)移指令 LOOPNE/LOOPNZ四 ). 過程調(diào)用與返回指令1.調(diào)用指令CALL(與 JMP 一樣分:段內(nèi)直接 、段內(nèi)間接 、段間直接、段間間接調(diào)用四種,但需保護斷點)2.返回指令1).RET(依段內(nèi)、段間不同分別恢復(fù)相應(yīng)斷點)2). RET n(除象 RET恢復(fù)斷點外還應(yīng)根據(jù)n 值修設(shè) SP)五).中斷指令.專業(yè)資料 .1. INT n(響應(yīng)中斷時 ,除象 CALL 保護斷點外 ,還應(yīng)保護 FR)2. INTOI

35、RET(返回時,除象 RET 恢復(fù)斷點外 ,還應(yīng)恢復(fù) F(1)LOOP格式 : LOOPlabel操作 : (CX)-1 CX;若 (CX)0,則轉(zhuǎn)至 label 處執(zhí)行 ;否則退出循環(huán) ,執(zhí)行 LOOP 后面的指令 。LOOP 指令與下面的指令段等價:DECCXJNZlabel3、過程調(diào)用指令( 1 )調(diào)用指令 CALL一般格式 :CALLsub;sub 為子程序的入口4、中斷指令P85(1)INT n執(zhí)行類型n 的中斷服務(wù)程序, N=0 255五、串操作指令一 ).串操作指令1.串傳送MOVS(字節(jié)串 MOVSB字串 MOVSW)2.串比較CMPS(字節(jié)串 CMPSB字串 CMPSW).專

36、業(yè)資料 .3.串搜索SCAS(字節(jié)串 SCASB字串 SCASW)4.取串LODS(字節(jié)串 LODSB字串 LODSW)5.存串STOS(字節(jié)串 STOSB字串 STOSW)二 ).重復(fù)前綴指令1.無條件重復(fù)REP2.相等 /為零重復(fù)REPE / REPZ3.不相等/ 不為零重復(fù)REPNE / REPNZ串操作指令特點 :1. 可用前綴使其重復(fù)操作 ;2. 每操作一次自動修改 SI 和 DI 內(nèi)容,當 DF=0 時為增量 , DF=1 為減量;3. 所有源操作數(shù)地址放在 SI 中,在 DS 段,串長 64K ;所有目標操作數(shù)地址放在 DI 中,在 ES 段,串長 64K ;4. 用重復(fù)前綴時

37、,如果條件滿足且 CX 0 時重復(fù),每重復(fù)一次CX CX1 ,否則結(jié)束重復(fù) ;5. 重復(fù)操作時 IP 不變,中斷返回后繼續(xù)操作 。重復(fù)前綴重復(fù)與結(jié)束重復(fù)的條件:重復(fù)前綴重復(fù)條件結(jié)束條件REPCX 0CX=0(無條件重復(fù) )REPE / REPZCX 0 且 ZF=1CX = 0或 ZF=0.專業(yè)資料 .(相等 / 為零重復(fù) )REPNE / REPNZCX 0 且 ZF=0CX = 0或 ZF=1(不相等 / 不為零重復(fù) )使用串操作指令時注意 :1. SI 源串首 (末)址DI 目標串首 (末)址;2. CX 串長度;3. 設(shè)DF 值;4. 選重復(fù)前綴 ;5. 使用條件重復(fù)前綴時 ,判斷結(jié)束條件 ( 即 是 CX=0 還是 ZF=0/1 結(jié)束)六、處理器控制指令P881. 標志位操作1). 清 CFCLC(CF=0)2). 置 CFSTC(CF=1)3). CF 取反 CMC4). 清 DFCLD(DF=0)5). 置 DFSTD(DF=1)6). 清 IFCLI(CF=0關(guān)中斷 )

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論