(完整word版)微機原理與接口技術知識點總結整理_第1頁
(完整word版)微機原理與接口技術知識點總結整理_第2頁
(完整word版)微機原理與接口技術知識點總結整理_第3頁
(完整word版)微機原理與接口技術知識點總結整理_第4頁
(完整word版)微機原理與接口技術知識點總結整理_第5頁
免費預覽已結束,剩余62頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理與接口技術27 / 46微機原理與接口技術復習參考資料第一章 概述'、計算機中的數制1、無符號數的表示方法:(1)十進制計數的表示法 特點:以十為底,逢十進一;共有0-9十個數字符號。(2 )二進制計數表示方法: 特點:以2為底,逢2進位; 只有0和1兩個符號。(3 )十六進制數的表示法: 特點:以16為底,逢16進位;有0-9及A F (表示1015 )共16個數字符號。2、各種數制之間的轉換(見書本 1.2.3 , 1.2.4 )(1 )非十進制數到十進制數的轉換 按相應進位計數制的權表達式展開,再按十進制求和。(2 )十進制數制轉換為二進制數制 十進制 7二進制的轉換:

2、整數部分:除2取余; 小數部分:乘2取整。十進制 7十六進制的轉換: 整數部分:除16取余; 小數部分:乘16取整。以小數點為起點求得整數和小數的各個位。(3)二進制與十六進制數之間的轉換 用4位二進制數表示1位十六進制數3、 無符號數二進制的運算(見教材P5 )4、二進制數的邏輯運算 特點:按位運算,無進借位(1)與運算只有A、B變量皆為1時,與運算的結果就是 1(2)或運算A、B變量中,只要有一個為 1,或運算的結果就是 1(3)非運算 (4 )異或運算A、B兩個變量只要不同,異或運算的結果就是1X的原碼記作X原,二、計算機中的碼制1、對于符號數,機器數常用的表示方法有原碼、反碼和補碼三種

3、。數反碼記作X反,補碼記作X補。注意:對正數,三種表示法均相同。 它們的差別在于對負數的表示。(1) 原碼定義:符號位:0表示正,1表示負; 數值位:真值的絕對值。注意:數0的原碼不唯一(2) 反碼定義:若X>0,則兇反=X原若X<0 ,則X反=對應原碼的符號位不變,數值部分按位求反注意:數0的反碼也不唯一(3)補碼定義:若X>0,則X補=兇反=兇原若X<0, 則X補=兇反+1注意:機器字長為 8時,數0的補碼唯一,同為 00000000-127+1272、8位二進制的表示范圍:-127+127-128+127原碼:反碼:補碼:3、特殊數 10000000該數在原碼中定

4、義為:-0在反碼中定義為:-127在補碼中定義為:-128對無符號數:(10000000) 2 = 128三、信息的編碼1、十進制數的二進制數編碼用4位二進制數表示一位十進制數。有兩種表示法:壓縮BCD碼和非壓縮BCD碼。(1) 壓縮BCD碼的每一位用 4位二進制表示,00001001表示09 , 一個字節表示兩位 十進制數。(2) 非壓縮BCD碼用一個字節表示一位十進制數,高4位總是0000,低4位的0000-1001 表示092、字符的編碼計算機采用7位二進制代碼對字符進行編碼(1)數字09的編碼是01100000111001 ,它們的高3位均是011,后4位正好與其對 的二進制代碼(BC

5、D碼)相符。(2)英文字母 AZ的ASCII碼從1000001 (41H )開始順序遞增,字母az的ASCII碼從1100001 ( 61H )開始順序遞增,這樣的排列對信息檢索十分有利。第二章微機組成原理第一節、微機的結構1、計算機的經典結構一一馮.諾依曼結構(1 )計算機由運算器、控制器、輸入設備和輸出設備五大部分組成(運算器和控制器又稱 為CPU(2 )數據和程序以二進制代碼形式不加區分地存放在存儲器總,存放位置由地址指定,數 制為二進制。(3 )控制器是根據存放在存儲器中的指令序列來操作的,并由一個程序計數器控制指令的 執行。3、系統總線的分類(1)數據總線(Data Bus ),,它

6、決定系統所能直接訪問的存儲器空間的容量。(2)地址總線(Address Bus(3)控制總線(Control Bus它決定了處理器的字長。)第二節、8086微處理器1、8086是一種單片微處理芯片,16位,片內包含有控制計算機所有功能的各種電路。其內部數據總線的寬度是16位,外部數據總線寬度也是 8086地址總線的寬度為 20位,有1MB (220)尋址空間。2、8086CPU 由總線接口部件 BIU和執行部件 EU組成。BIU和EU8086取指令和執行指令的并行操作體統硬件支持。3、8086處理器的啟動4、寄存器結構8086微處理器包含有13個16位的寄存器和9位標志位。4個通用寄存器(AX

7、,BX,CX,DX )4個段寄存器(CS,DS,SS,ES )4個指針和變址寄存器(SP , BP , SI,DI)指令指針(IP)1 )、通用寄存器(1) 8086含4個16位數據寄存器,它們又可分為8個8位寄存器,AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用來存放參與運算的操作數或運算結果(2)數據寄存器特有的習慣用法AX :累加器。多用于存放中間運算結果。所有I/O指令必須都通過BX :基址寄存器。在間接尋址中用于存放基地址;的操作是異步的,為即:AX與接口傳送信息;CX :計數寄存器。用于在循環或串操作指令中存放循環次數或重復次數;DX :數據寄存器。在放I/O端口地址

8、。2)、指針和變址寄存器SP :堆棧指針寄存器,BP :基址指針寄存器,SI:源變址寄存器DI :目標變址寄存器變址寄存器常用于指令的間接尋址或變址尋址。3 )、段寄存器CS :代碼段寄存器,代碼段用于存放指令代碼DS :數據段寄存器ES :附加段寄存器,數據段和附加段用來存放操作數SS :堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器內容, 4)、指令指針(IP)16位指令指針寄存器,其內容為下一條要執行的指令的偏移地址。5 )、標志寄存器(1)狀態標志:進位標志位(CF):運算結果的最高位有進位或有借位,則 輔助進位標志位(AF):運算結果的低四位有進位或借位,則 溢出標志位(OF):運

9、算結果有溢出,則 OF=1 零標志位(ZF):反映指令的執行是否產生一個為零的結果 符號標志位(SF):指出該指令的執行是否產生一個負的結果 奇偶標志位(PF):表示指令運算結果的低 8位“個數是否為偶數(2)控制標志位中斷允許標志位(IF):表示CPU是否能夠響應外部可屏蔽中斷請求 跟蹤標志(TF ): CPU單步執行5、8086的引腳及其功能(重點掌握以下引腳) AD15ADO :雙向三態的地址總線,輸入 /輸出信號INTR :可屏蔽中斷請求輸入信號,高電平有效。可通過設置 NMI :非屏蔽中斷輸入信號。不能用軟件進行屏蔽。RESET :復位輸入信號,高電平有效。復位的初始狀態見 MN/M

10、X :最小最大模式輸入控制信號。32位乘除法運算時,存放高 16位數;在間接尋址的I/O指令中存其內容為棧頂的偏移地址; 常用于在訪問內存時存放內存單元的偏移地址。傳遞參數CF=1AF=1IF的值來控制。P21第三章8086指令系統第一節8086尋址方式一、數據尋址方式1、立即尋址操作數(為一常數)直接由指令給出 (此操作數稱為立即數)立即尋址只能用于源操作數例:MOV AX, 1C8FHMOV BYTE PTR2A00H, 8FH錯誤例:X MOV 2A00H,AX ;錯誤!指令操作例: MOV AX , 3102H; AX 3102H執行后,(AH) = 31H , (AL) = 02H2

11、、寄存器尋址(1) 操作數放在某個寄存器中(2) 源操作數與目的操作數字長要相同(3) 寄存器尋址與段地址無關 例:MOVAX, BXMOV3F00H, AXMOVCL, AL錯誤例:X MOV AX,BL;X MOV ES:AX,DX ;3、直接尋址(1) 指令中直接給出操作數的Address)(2) 默認的段寄存器為 DS字長不同寄存器與段無關16位偏移地址偏移地址也稱為有效地址(EA, Effective(3) 偏移地址也可用符號地址來表示,如例:但也可以顯式地指定其他段寄存器ADDR VAR稱為段超越前綴MOV AX ,2A00HMOV DX ,ES:2A00HMOVSI,TABLE_

12、PTR4、間接尋址操作數的偏移地址只有SI、DI、例:MOVMOV(有效地址EA)放在寄存器中 和BP可作間址寄存器AX,BXCL,CS:DIBX錯誤例X MOVAX, DXX MOVCL, AX5、寄存器相對尋址8/16位的位移量EA=間址寄存器的內容加上一個例: MOV AX, BX+8MOV CX, TABLESIMOV AX, BP;默認段寄存器為 SS 指令操作例:MOV AX , DATABX若(DS)=6000H, (BX)=1000H, DA TA=2A00H,(63A00H)=66H,(63A01H)=55H則物理地址 =60000H + 1000H + 2A00H = 63

13、A00H 指令執行后:(AX ) =5566H6、基址變址尋址若操作數的偏移地址:由基址寄存器(BX或BP)給出一一基址尋址方式由變址寄存器(SI或DI)給出 一一變址尋址方式稱為由一個基址寄存器的內容和一個變址寄存器的內容相加而形成操作數的偏移地址, 基址-變址尋址。EA= ( BX ) + ( SI)或(DI ); EA= ( BP) + (SI)或(DI)同一組內的寄存器不能同時出現。BX時,操作數應該存放在數據段DSSS中。例:注意:除了有段跨越前綴的情況外,當基址寄存器為 中,當基址寄存器為 BP時,操作數應放在堆棧段MOVAX,BX SIMOVAX,BX+SIMOVAX,DS: B

14、P DI錯誤例:X MOVX MOVAX,AX,BX B PDI SIMOV指令操作例:假定:(DS)=8000H,(BX)=2000H,SI=1000H則物理地址 =80000H + 2000H + 1000H = 83000H 指令執行后:(AL)=83000H(AH)=83001H7、相對基址變址尋址在基址-變址尋址的基礎上再加上一個相對位移量EA= ( BX ) + ( SI)或(DI ) +8位或16位位移量;EA= ( BP) + ( SI)或(DI) +8位或16位位移量 指令操作例:MOV AX , DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1

15、000H, DATA=200H則指令執行后(AH)=83021H,(AL)=83020H指令操作數形式只有一個寄存器(BX/B P/SI/DI之一)一個寄存器加上位移量兩個不同類別的寄存器寄存器間接、寄存器相對、基址變址、相對基址變址四種尋址方式的比較: 尋址方式寄存器間接寄存器相對基址一變址相對基址-變址兩個不同類別的寄存器加上位移量short ,n ear wordfar dword二、地址尋址方式(了解有 4類,能判斷) 簡要判斷依據(指令中間的單詞): 段內直接 段內間接 段間直接 段間間接第二節8086指令系統一、數據傳送指令1通用傳送指令(1) MOV dest,src; dest

16、 src傳送的是字節還是字取決于指令中涉及的寄存器是 具體來說可實現: MOV mem/reg1, mem/reg2指令中兩操作數中至少有一個為寄存器8位還是16位。MOVMOVMOVMOVMOVMOVreg, data mem,dataacc, mem;立即數送寄存器;立即數送存儲單元;存儲單元送累加器;累加器送存儲單元mem,accsegreg,mem/reg ;存儲單元/寄存器送段寄存器 mem/reg,segreg ;段寄存器送存儲單元/寄存器MOV指令的使用規則 IP不能作目的寄存器 不允許 mem mem 不允許 segreg segreg 立即數不允許作為目的操作數 不允許seg

17、reg立即數 源操作數與目的操作數類型要一致+變址的內存數時,必 當源操作數為單字節的立即數,而目的操作數為間址、變址、基址須用PTR說明數據類型。如:MOV BX ,12H是錯誤的。(2)、堆棧指令什么是堆棧?堆棧以 字為單位進行壓入彈出操作。SP始終指向堆棧的頂部,SP的初值規定了所按后進先出(LIFO) ”方式工作的存儲區域。 規定由SS指示堆棧段的段基址,堆棧指針 用堆棧區的大小。堆棧的最高地址叫棧底。壓棧指令PUSHPUSHsrc ; src為16位操作數例:PUSH AX ;將AX內容壓棧 執行操作:(SP) -1J高字節AH(SP) -2J低字節AL(SP).( SP) - 2注

18、意進棧方向是高地址向低地址發展。彈出指令POPPOP dest例:POP BX ;將棧頂內容彈至 BX 執行操作:(BL )J( SP)(BH )J( SP) +1(SP)J( SP) +2堆棧指令在使用時需注意的幾點:堆棧操作總是按字進行不能從棧頂彈出一個字給CS堆棧指針為SS:SP, SP永遠指向棧頂SP自動進行增減量(-2, +2)(3 )、交換指令XCHG格式:XCHG reg, mem/reg功能:交換兩操作數的內容。要求:兩操作數中必須有一個在寄存器中; 操作數不能為段寄存器和立即數;源和目地操作數類型要一致。舉例: XCHG AX, BXXCHG 2000 , CL(4)查表指令

19、XLAT執行的操作:AL J (BX)+(AL) 又叫查表轉換指令,(偏移地址)送到它可根據表項序號查出表中對應代碼的內容。BX中,表項序號存于 AL中。執行時先將表的首地址2、輸入輸出指令只限于用累加器功能:(累加器)I/O端口(1)輸入指令IN格式:IN acc,PORT ;PORT 端口號 0255HIN acc,DXAL或AX來傳送信息。;DX表示的端口范圍達 64K例:IN AL , 80H;(AL)(80H 端口 )IN AL , DX;(AL) r(DX)(2)輸出指令OUT格式:OUT port,accOUT DX,acc例:OUT 68H , AX ;(69H , 68H)(

20、AX )OUT DX , AL ;(DX)(AL)在使用間接尋址的IN/OUT指令時,要事先用傳送指令把I/O端口號設置到 DX寄存器如:MOV DX , 220HIN AL , DX;將220H端口內容讀入 AL3、目標地址傳送指令(1)LEA傳送偏移地址格式:LEA reg , mem ;將指定內存單元的偏移地址送到指定寄存器要求:1) 源操作數 必須是一個 存儲器操作數;2) 目的操作數必須是一個16位的通用寄存器。例:LEA BX, SI+10H設:(SI) =1000H則執行該指令后,(BX ) =1010H注意以下二條指令差別:LEA BX , BUFFERMOV BX , BUF

21、FER前者表示將符號地址為 BUFFER的存儲單元的偏移地址取到BX中;后者表示將BUFFER存儲單元中的內容取到BX中。F面兩條指令等效:LEA BX,BUFFERMOV BX, OFFSET BUFFER其中OFFSET BUFFER表示存儲器單元 二者都可用于取存儲器單元的偏移地址,但 靜態的地址。BUFFER的偏移地址。LEA指令可以取動態的地址,OFFSET只能取二、算術運算指令1、加法指令(1)不帶進位的加法指令 ADD格式: ADDADDADD實例:acc,data mem/reg,data mem/reg1,mem/reg2ADDAL , 30HADDSI, BX+20HADD

22、CX , SIADDDI , 200H?ADD指令對6個狀態標志均產生影響。例:已知(BX)=D75FH指令 ADD BX,8046H 執行后,狀態標志各是多少?D75FH = 1110 0111 0101 11118046H = 1000 0000 0100 01101 1 11 110110 0111 1010 0101結果:C=1, Z=0, P=0, A=1, 0=1, S=0判斷溢出與進位從硬件的角度:默認參與運算的操作數都是有符號數,當兩數的符號位相同, 而和的結果相異時有溢出,則 OF=1,否則OF=0(2)ADCADCADCADC帶進位的加法 ADC指令在形式上和功能上與ADD

23、類似,只是相加時還要包括進位標志CF的內容,例如:AL , 68H ; AL J (AL)+68H+(CF)AX , CX ;AX J (AX)+(CX)+(CF)BX , DI ;BX J (BX)+DI+1DI+(CF)格式:INCreg/mem功能:類似于C語言中的+操作:例:INCALINCSIINCBYTE P TRBX+4注:本指令不影響CF標志加1指令INC對指定的操作數加10(4)非壓縮BCD碼加法調整指令AAA 指令的操作:AL的低4位9或AF=1,則:AL J (AL)+6,(AH) J (AH)+1,AFAL高4位清零CF J AFAAA如果否則AL高4位清零(5)壓縮B

24、CD碼加法調整指令 DAA 兩個壓縮BCD碼相加結果在AL中, 指令操作(調整方法):若AL的低4位 9或AF=1通過DAA調整得到一個正確的壓縮 BCD碼.則(AL) J (AL)+6 , AF 1若AL的高4位 9或CF=1則(AL) J (AL)+60H , CF J1除OF外,DAA指令影響所有其它標志。 DAA指令應緊跟在ADD或ADC指令之后。2、減法指令(1 )不考慮借位的減法指令 SUB格式:SUB dest, src操作:dest J (dest)-(src)注:1源和目的操作數不能同時為存儲器操作數2.立即數不能作為目的操作數指令例子:SUB AL, 60HSUB BX+2

25、0H , DXSUB AX, CX(2)考慮借位的減法指令 SBB SBB指令主要用于多字節的減法。格式:SBB dest, src操作:dest J (dest)-(src)-(CF) 指令例子:SBBSBBSBBAX, CXWORD PTRSI, 2080H SI,DX(3 )減1指令DEC作用類似于C語言中的”一-”操作符。格式:DEC opr操作:opr J (opr)-1 指令例子:DECDECCLBYTE P TRDI+2SIDEC(4 )求補指令NEG格式:NEG opr操作: opr J 0-(opr)對一個操作數取補碼相當于用0減去此操作數,故利用 NEG指令可得到負數的絕對

26、值。例:若(AL)=0FCH,則執行 NEG AL后,(AL)=04H , CF=1(5 )比較指令CMP格式:CMP dest, src操作:(dest)-(src)CMP也是執行兩個操作數相減,但結果不送目標操作數,其結果只反映在標志位上。指令例子:CMPAL ,0AHCMPCX ,SICMPDI ,BX+03(6)非壓縮BCD碼減法調整指令AAS對AL中由兩個非壓縮的 BCD碼相減的結果進行調整。調整操作為:若AL的低4位9或AF=1,則: AL J (AL)-6,AH J (AH)-1,AF J1 AL的高4位清零 CFJ AF否則:AL的高4位清零(7)壓縮BCD碼減法調整指令DAS

27、對AL中由兩個壓縮BCD碼相減的結果進行調整。調整操作為:若AL的低4位 9或AF=1,則:ALJ (AL)-6, 且 AFJ1若AL的高4位9或CF=1,則:ALJ (AL)-60H,且 CFJ1DAS對OF無定義,但影響其余標志位。DAS旨令要求跟在減法指令之后。3、乘法指令進行乘法時:8位*8位7 16位乘積16位*16位7 32位乘積(1)無符號數的乘法指令 MUL(MEM/REG) 格式:MUL src 操作:字節操作數字操作數(AX) J (AL) X (src)(DX, AX) J (AX) X (src)指令例子:MULMULMUL;(AL) X ( BL),乘積在 AX中;(

28、AX) X (CX),乘積在 DX,AX中BLCXBYTE P TRBX(2)有符號數乘法指令IMUL格式與MUL指令類似,只是要求兩操作數均為有符號數。指令例子:IMUL BL ; (AX) J (AL) XBL)IMUL WORD PTRSI;(DX,AX) J (AX) XSI+1SI)注意:MUL/IMUL指令中 AL(AX)為隱含的乘數寄存器; AX(DX,AX)為隱含的乘積寄存器;SRC不能為立即數;4、除CF和OF外,對其它標志位無定義。(1)無符號數除法指令格式:DIV src操作:字節操作DIV的商 的余數字操作(AL) J (AX) / (SRC)(AH) J (AX) /

29、 (SRC)(AX) J (DX, AX) / (SRC) 的商(DX) J (DX, AX) / (SRC) 的余數被除數商余數字節除法AXALAH字除法DX:AXAXDX除法指令進行除法時:16位/8位7 8位商32位/16位7 16位商對被除數、商及余數存放有如下規定:指令例子:DIV CLDIV WORD P TRBX(2)有符號數除法指令IDIV格式:IDIV src操作與DIV類似。商及余數均為有符號數,且余數符號總是與被除數符號相同。注意:對于DIV/IDIV 指令AX(DX,AX)為隱含的被除數寄存器。AL(AX)為隱含的商寄存器。AH(DX)為隱含的余數寄存器。src不能為立

30、即數。對所有條件標志位均無定關于除法操作中的字長擴展問題?除法運算要求被除數字長是除數字長的兩倍,若不滿足則需對被除數進行擴展,否則產生錯誤。CBW 和 CWD?對于無符號數除法擴展,只需將AH或DX清零即可。?對有符號數而言,則是符號位的擴展。可使用前面介紹過的符號擴展指令三、邏輯運算和移位指令1、邏輯運算指令(1)邏輯與AND對兩個操作數進行按位邏輯“與”操作。格式:AND dest, src用途:保留操作數的某幾位,清零其他位。例1:保留AL中低4位,AND AL,0FH高4位清0。(2)邏輯或OR 對兩個操作數進行按位邏輯 格式:OR dest, src 用途:對操作數的某幾位置”或”

31、操作。1 ;對兩操作數進行組合。例1:把AL中的非壓縮BCD碼變成相應十進制數的OR AL, 30HASCII 碼。(3)邏輯非NOT對操作數進行按位邏輯"非”操作。格式:NOT mem/reg例:NOT CXNOT BYTE P TRDI(4 )邏輯異或XOR 對兩個操作數按位進行”異或”操作。格式:XOR dest, src用途:對reg清零(自身異或)把reg/mem的某幾位變反(與1'異或)例1:把AX寄存器清零。 MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX(5 )測試指令TEST操作與AND指令類似,但不將”與”的結果送回,只影響標志

32、位。 TEST指令常用于位測試,與條件轉移指令一起用。例:測試TESTJNZAL的內容是否為負數。AL,80HMINUS;檢查AL中D7=1 ?;是1(負數),轉MINUS;否則為正數2、移位指令(1)非循環移位指令算術左移指令SAL(Shift Arithmetic Left)算術右移指令 SAR(Shift Arithmetic Right) 邏輯左移指令 SHL(Shift Left) 邏輯右移指令 SHR(Shift Right)這4條指令的格式相同,以SAL為例:r CL ;移位位數大于1時SAL mem/reg'1;移位位數等于1時1位,也算術移位一一把操作數看做有符號數;

33、 邏輯移位一一把操作數看做無符號數。 移位位數放在CL寄存器中,如果只移 可以直接寫在指令中。例如:MOV CL,4 SHR AL,CL ; AL中的內容右移影響C,P,S,Z,O標志。 結果未溢出時:1位三操作數*21位三操作數/2左移 右移例:把AL中的數x乘10因為10=8+2=2 3+21,所以可用移位實現乘10操作。程序如下:MOVCL,3SALAL,1;2xMOVAH,ALSALAL,1;4xSALAL,1;8xADDAL,AH;8x+2x = 10x四、控制轉移指令1、轉移指令(1 )無條件轉移指令格式:JMP label本指令無條件轉移到指定的目標地址,以執行從該地址開始的程序

34、段。JMP(2)條件轉移指令(補充內容)根據單個標志位設置的條件轉移指令JB/JC;低于 或CF=1,則轉移JNB/JNC/JAE ;高于或等于,或CF=0,則轉移 JP/JPEJNP/JPOJZ/JEJNZ/JNEJSJNS;奇偶標志PF=1(偶),則轉移;奇偶標志P F=0(奇),則轉移;結果為零(ZF=1),則轉移;結果不為零(ZF=0),則轉移;SF=1,則轉移;SF=0,則轉移J0JNO;0F=1,則轉移;OF=0,則轉移根據組合條件設置的條件轉移指令 這類指令主要用來判斷兩個數的大小。判斷無符號數的大小JA咼于則轉移條件為:CF=0 A ZF=0 ,即卩 A > BJNA/J

35、BE 低于或等于則轉移條件為:CF=1 V ZF=1,即 A w B JB A<B則轉移JNB A > B則轉移判斷有符號數的大小JG ;大于則轉移(A > B)條件為:(SF ® OF=0) A ZF=0JGE;大于或等于則轉移(A > B)條件為:(SF ® OF=0) V ZF=1 JLE ;小于或等于則轉移(A < B) 條件為:(SF® OF=1) V ZF=1JL;小于則轉移(A < B =條件為:(SF® OF=1) A ZF=0 2、循環控制指令用在循環程序中以確定是否要繼續循環。循環次數通常置于 CX

36、中。轉移的目標應在距離本指令 -128+127的范圍之內。循環控制指令不影響標志位。(1) LO OP格式:LOOP label操作:(CX)-1 7 CX ;若(CX)豐0,則轉至label處執行; 否則退出循環,執行LOOP后面的指令。LOOP指令與下面的指令段等價:DEC CXJNZ label3、過程調用指令(1 )調用指令 CALL一般格式:CALL sub ;sub為子程序的入口 4、中斷指令(1)INT n 執行類型n的中斷服務程序,N=0255微機原理與接口技術五、處理器控制指令CF設置指令1、標志位操作(1)CLC07 CFDF設置指令CLD07 DF伸操作的指針移動方向從低

37、到高STD17 DF伸操作的指針移動方向從高到低IF設置指令07 IF (禁止 INTR 中斷) STISTC17 CFCMC CF變反CLI17 IF (開放INTR中斷)2、HLT (halt)執行HLT指令后,CPU進入暫停狀態。第四章8086匯編語言程序設計第一節偽指令CPU指令與偽指令之間的區別:(1)CPU指令是給CPU的命令,在運行時由 CPU執行,每條指令對應 CPU的一種特定的 操作。而偽指令是給匯編程序的命令,在匯編過程中由匯編程序進行處理。(2)匯編以后,每條CPU指令產生一一對應的目標代碼;而偽指令則不產生與之相應的目標 代碼。1、數據定義偽指令(1)數據定義偽指令的一

38、般格式為:變量名偽指令操作數,操作數DBDWDD用來定義字節(BYTE) 用來定義字(WORD) 用來定義雙字(DWORD)(2 )操作數的類型可以是:常數或常數表達式例如: DATA_BYTEDATA_WORDDATA_DWDB 10,5,10HDW 100H,100,-4DD 2*30,0FFFBH可以為字符串(定義字符串最好使用DB )例如:char1 DB AB'可以為變量可以為?號操作符例如:X DB 5, ?,6?號只是為了給變量保留相應的存儲單元,而不賦予變量某個確定的初值。 重復次數:N DUP (初值,初值)例如:ZERO DB 2 DUP ( 3,XYZ DB 2

39、DUP在偽操作的操作數字段中若使用5)(0,2 DUP (1,3), 5)$,則表示的是地址計數器的當前值。2、補充內容:(1)類型 PTR 地址表達式例如:INC BYTE PTR BX注意:單操作數指令,當操作數為基址、MOV BYTE PTR BX , 12H變址、基+變的時候必須定義3、符號定義偽指令(1)EQU格式:名字EQU表達式EQU偽指令將表達式的值賦予一個名字,例: CONSTANT EQU 100以后可用這個名字來代替上述表達式。NEW PORT EQU PORT VAL+1=(等號)與EQU類似,但允許重新定義 例:EMP=7;值為7EMP=EMP+1 ;值為 8 LAB

40、ELLABEL偽指令的用途是定義標號或變量的類型格式:名字LABEL 類型變量的類型可以是 BYTE , WORD , DWORD。標號的類型可以是 NEAR或FAR 4、段定義偽指令 與段有關的偽指令有:SEGMENT、ENDS、ASSUME、ORG(1)段定義偽指令的格式如下:段名SEGMENT 定位類型組合類型類別段名ENDSSEGMENT 和 ENDS這兩個偽指令總是成對出現,二者前面的段名一致。二者之間的刪節部分,對數據段、 附加段及堆棧段,一般是符號、變量定義等偽指令。對于代碼段則是指令及偽指令。此外, 還必須明確段和段寄存器的關系,這可由 ASSUME語句來實現。(2) ASSU

41、ME格式:ASSUME 段寄存器名:段名,段寄存器名:段名,ASSUME偽指令告訴匯編程序,將某一個段寄存器設置為某一個邏輯段址,即明確指出 源程序中邏輯段與物理段之間的關系。佃/ 46微機原理與接口技術(3)ORG偽指令ORG規定了段內的起始地址或偏移地址,其格式為:ORG 表達式表達式的值即為段內的起始地址或偏移地址,從此地址起連續存放程序或數據。5、匯編程序的一般結構(記住)DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABGN:MOV AX ,DATAMOV DS,AXMOV AH,4CHINT 21HCODE ENDSEN

42、D BGN第三節程序設計1、順序程序的設計(略)2、分支程序的設計 典型例題:r 1X0X=0-1X<0程序為:MOVAL,XCMPAL,0JGEBIGMOVY,-1JMP EXITBIG :JE EQULMOVY,1JMPEXITEQUL:MOVEXIT :Y, 03、循環程序見講義。 用計數控制循環30 / 46微機原理與接口技術第一章計算機基礎知識本章的主要內容為不同進位計數制計數方法、 不同進位制數之間相互轉換的 方法、數和字符在計算機中的表示方法、簡單的算術運算以及計算機系統的組成。 下邊將本章的知識點作了歸類,圖1為本章的知識要點圖,圖1.2為計算機系統 組成的示意圖。數制本

43、章.知 識 要 點二進制數(B) 八進制數(Q) 十六進制數( 十進制數(D)"原碼 反碼 補碼B)帶符號數編碼V碼制奇校驗碼偶校驗碼ASCII 碼數字編碼規則字符編碼字母編碼規則壓縮BCD碼BCD碼非壓縮BCD碼V計算機系統組成硬件主機L控制器中央處理器(CPU)-運算器半導體存儲器ROM計算 機 系 統 組 成RAM外部設備輸入設備輸出設備操作系統:如 DOS、Windows、Unix、Linux 等廠系統軟件V各種計算機語言處理軟件:如匯編、解釋、編譯等軟件207-46軟件其他系統軟件微機原理與接口技術第二章8086微處理器本章要從應用角度上理解 8086CPU的內部組成、編程

44、結構、引腳信號功 能、最小工作模式的系統配置、8086的存儲器組織、基本時序等概念。下面這 一章知識的結構圖。In tel 8086微處理器嚴時鐘發生器(8284)系統配置(最小模式)8086C PU地址鎖存器(74LS373、8282)卜三總線(DB、AB、CB)本章.知 識 要 點存儲器組織數據收發器(8286、74LS245)丿存儲器邏輯分段存儲器分體奇地址存儲體(BHE)偶地址存儲體(A0)時鐘周期(T狀態)*總線周期*指令周期寄存器的復位值基本讀總線周期基本寫總線周期*復位操作時序-中斷響應時序執行單元 EU( AX、BX、CX、DX、SP、BP、SI、DI、標志寄存器)內部組成彳I

45、 總線接口單元 BIU ( CS、DS、SS、ES、IP)地址/數據地址/狀態引腳功能(最小模式)負責地址BHE/S7、ALE數據允許和收發 dEN、DT/R負責讀寫 RD、WR、M/10負責中斷 INTR、NMI、INTA控制第三章8086的指令系統本章重點是8086CPU指令的尋址方式,每條指令的格式、功能及標志的影 響;同時還涉及到存儲器單元的物理地址計算、標志位填寫和堆棧操作。下圖 為本章知識結構圖。操作數尋址方式本 章 知 識 要 點立即數尋址、寄存器尋址、存儲器尋址.1邏輯地址、物理地址指令格式*指令功能*對標志位影響填寫標志位堆棧結構(后進先出)寄存器尋址存儲器尋址串操作尋址I/

46、O端口尋址尋 址 方 式立即數尋址寄存器間接尋址寄存器相對尋址基址變址尋址隱含尋址堆棧指針(SP)直接尋址相對基址變址尋址*堆棧操作(入棧、出棧)指 令 功 能數據傳送類(通用數據傳送指令、堆棧指令、交換指令、 標志寄存器傳送指令)I/O傳送指令、換碼指令、有效地址傳送指令、算術運算類指令(加法指令,減法指令,乘法指令,除法指令,BCD碼調整指令)邏輯類指令(邏輯運算指令、邏輯移位操作指令)串操作類指令(串傳送、比較、掃描、串存和取指令)控制轉移類指令(條件和無條件轉移、子程序調用和返6回指令、子程序調用和返回、中斷)處理器控制類指令第四章 匯編語言程序設計本章主要內容是匯編語言類別、偽指令語

47、句格式和作用、基本程序結構、調 用程序和被調用程序之間數據傳遞途徑以及匯編源程序上機調試過程。本章重點是閱讀程序和編寫程序。下邊是本章的知識結構圖。實指令語句用戶應用軟件 匯編語言語句類別 5吊指令語句1其他應用軟件I宏指令語句本章.知 識 要 點順序結構程序基本結構分支結構循環結構參數傳遞途徑過程(子程序)寄存器約定存儲器約定堆棧傳遞偽 指 令 語 句程序開發步驟:編輯一4匯編符號定義偽指令EQU、=數據定義偽指令DB、DW、DD段定義偽指令SEGMENT ENDS過程定義偽指令PROC、ENDP段指派偽指令ASSUME程序定位偽指令ORG匯編結束偽指令END23 / 46其他偽指令(鏈接調

48、試運行微機原理與接口技術本章討論半導體存儲 引腳功能、如何與 CPU (或系統總線)連接等問題。存儲器作用存放程序和數據*只存放二進制數第五章半導體存儲器半導體存儲器是用半導體器件作為存儲介質的存儲器。 器芯片的類型、存儲原理、 本章知識結構圖如下。45 / 46SRAM廣RAMDRAM本章.知 識 要 點半導體存儲器芯片分類掩模ROM存儲器芯片ROMP ROMPROM 4 EPROMEEROM存儲容量*引腳功能計算芯片數主存儲器設計卜與系統連接地址分配、片選邏輯、控制選擇全譯碼部分譯碼線譯碼第六章輸入輸出接口本章討論輸入/輸出接口的基本概念,包括輸入 /輸出接口的作用、內部結構、傳送信息的分 析、10端口編址以及主機通過接口與外設之間數據傳送的方式。下邊是本章的知識結構圖。廣控制信息10接口概念丿接口傳送信息的種類數據信息(開關量、脈沖量、數據量、模擬量)本 章 知 識 要 點I 10端口 10端口編址方式J

溫馨提示

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

評論

0/150

提交評論