微機原理基本概念復習_第1頁
微機原理基本概念復習_第2頁
微機原理基本概念復習_第3頁
微機原理基本概念復習_第4頁
微機原理基本概念復習_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理基本概念復習微機原理基本概念復習/NUMPAGES33微機原理基本概念復習微機原理基本概念復習字節(jié),字概念,1字節(jié)=8位,字長概念:傳微處理器一次送二進制數(shù)據(jù)的位數(shù)(總線寬度)。地址空間概念:16根地址線—64K,20根地址線—1M空間進制間的轉(zhuǎn)換:將十進制數(shù)25.5轉(zhuǎn)換為二級制數(shù)數(shù)值數(shù)據(jù)的表示:有符號數(shù):補碼,n位補碼的范圍無符號數(shù):FFFFH=65535BCD碼:789的壓縮BCD碼789HASCII碼:789的ASC碼373839H求補運算概念8086CPU從功能上來說分成兩大部分:總線接口單元BIU(BusInterfaceUnit)和執(zhí)行單元EU(ExecutionUnit)總線接口部件由下列4部分組成:①4個段地址寄存器(CS、DS、ES、SS)②16位的指令指針寄存器IP(InstructionPointer)③20位的地址加法器輯段概念——8086CPU的內(nèi)部結(jié)構(gòu)是16位的,即所有的寄存器都是16位的,而外部尋址空間為1M,需要20位地址線。為了能尋址1M空間。8086把1M字節(jié)空間劃分成若干個邏輯段。11邏輯地址概念——2000H:5F62H,則其對應的物理地址:25F62H12堆棧指針:SP與段寄存器SS一起確定在堆棧操作時,堆棧在內(nèi)存中的位置。SS和SP的初始值決定了堆棧區(qū)的大小13狀態(tài)標志的意義:即SF、ZF、PF、CF、AF和OF148086引腳:MN/MX、AD15~AD0地址/數(shù)據(jù)分時復用引腳NMI(Non-MaskableInterrupt)不可屏蔽中斷請求,輸入、上升沿有效、INTR(InterruptRequest)可屏蔽中斷請求,輸入、高電平有效,有效時,表示請求設(shè)備向CPU申請可屏蔽中斷,該中斷請求是否響應受控于IF(中斷允許標志)、可以被屏蔽掉INTA——RESET(復位)復位請求,輸入、高電平有效,復位后CS=FFFFH、IP=0000H,所以自啟動程序入口在物理地址FFFF0HINTA(InterruptAcknowledge)可屏蔽中斷響應,輸出、低電平有效,有效時,表示來自INTR引腳的中斷請求已被CPU響應,CPU進入中斷響應周期。ALE(AddressLatchEnable)地址鎖存允許,輸出、三態(tài)、高電平有效,腳高有效時,表示復用引腳:AD15~AD0和A19/S6~A16/S3正在傳送地址信息,由于地址信息在這些復用引腳上出現(xiàn)的時間很短暫,所以系統(tǒng)可以利用ALE引腳將地址鎖存起來M/IO(InputandOutput/Memory)I/O或存儲器訪問,輸出、三態(tài),該引腳輸出高電平時,表示CPU將訪問存儲器,這時地址總線A19~A0提供20位存儲器地址,該引腳輸出低電平時,表示CPU將訪問I/O端口,這時地址總線A15~A0提供16位I/O口地址15多字節(jié)數(shù)據(jù)存放方式:圖中0002H“字”單元的內(nèi)容為:[0002H]=1234H0002H號“雙字”單元的內(nèi)容為:[0002H]=78561234H16物理地址和邏輯地址的轉(zhuǎn)換例2.1設(shè)代碼段寄存器CS的內(nèi)容為1000H,指令指針寄存器IP的內(nèi)容為2500H,即CS=1000H,IP=2500H,則訪問代碼段存儲單元的物理地址為:17指令周期:是指一條指令經(jīng)取指、譯碼、讀寫操作數(shù)到執(zhí)行完成的過程。若干總線周期組成一個指令周期18總線周期是指CPU通過總線操作與外部(存儲器或I/O端口)進行一次數(shù)據(jù)交換的過程8086的基本總線周期需要4個時鐘周期,4個時鐘周期編號為T1、T2、T3和T4總線周期中的時鐘周期也被稱作“T狀態(tài)”,時鐘周期的時間長度就是時鐘頻率的倒數(shù)當需要延長總線周期時插入等待狀態(tài)Tw,CPU進行內(nèi)部操作,沒有對外操作時,其引腳就處于空閑狀態(tài)Ti8086如果工作頻率1MHZ,1個基本總線周期需要多長時間。19指令代碼由操作碼和操作數(shù)兩部分組成尋址方式:立即數(shù)尋址MOV AX,14寄存器尋址:MOVDS,AX直接尋址:MOVAX,[2000H],MOVBX,BUFFER寄存器間接尋址MOVAX,[BX]寄存器相對尋址MOVAX,[SI+06H]基址變址尋址方式MOVAX,[BX+SI]相對基址變址MOVAX,[BX+DI+6]隱含尋址MULBL;(AL)×(BL)→AX隱含了被乘數(shù)AL和乘積AX20存儲器尋址方式中的變量WVARDW1234H;定義16位變量WVAR,具有初值1234H21注意點1.區(qū)別立即數(shù)尋址和直接尋址 MOV AX,126 MOV AX,[126]2.區(qū)別寄存器尋址和寄存器間接尋址 MOVAX,BX MOVAX,[BX]3.雙操作數(shù)指令中,不能同為存儲器操作數(shù)。4.CS不能為目的寄存器。最基本的傳送指令(MOV)堆棧指令(PUSH,POP)數(shù)據(jù)交換指令(XCHG)換碼指令XLAT非法指令的主要現(xiàn)象:兩個操作數(shù)的類型不一致無法確定是字節(jié)量還是字量操作兩個操作數(shù)都是存儲器MOV[2000H],[3000H]立即數(shù)直接送段寄存器MOVDS,3000H目標操作數(shù)用立即數(shù)方式MOV2000H,AL兩個操作數(shù)都是段寄存器MOVDS,ES在絕大多數(shù)雙操作數(shù)指令中,目的操作數(shù)和源操作數(shù)必須具有一致的數(shù)據(jù)類型,或者同為字量,或者同為字節(jié)量,否則為非法指令兩個操作數(shù)類型不一致 MOVAL,050AH ;非法指令,修正: ;movax,050ah MOVSI,DL ;非法指令,修正: ;movdh,0 ;movsi,dx當無法通過任一個操作數(shù)確定是操作類型時,需要利用匯編語言的操作符顯式指明 MOV[BX+SI],255 ;非法指令,修正: ;movbyteptr[bx+si],255 ;byteptr說明是字節(jié)操作 ;movwordptr[bx+si],255 ;wordptr說明是字操作8086/8088指令系統(tǒng)除串操作指令外,不允許兩個操作數(shù)都是存儲單元(存儲器操作數(shù)) MOVbuf2,buf1 ;非法指令,修正: ;假設(shè)buf2和buf1是兩個字變量 ;movax,buf1 ;movbuf2,ax ;假設(shè)buf2和buf1是兩個字節(jié)變量 ;moval,buf1 ;movbuf2,al8086指令系統(tǒng)中,能直接對段寄存器操作的指令只有MOV等個別傳送指令,并且不靈活 MOVDS,ES ;非法指令,修正: ;movax,es ;movds,ax MOVDS,100H ;非法指令,修正: ;movax,100h ;movds,ax MOVCS,[SI] ;非法指令 ;指令存在,但不能執(zhí)行例3-13把BLOCK1地址開始的10個字節(jié)數(shù)據(jù)傳送到BLOCK2地址開始的10個字節(jié)單元處。 MOVCX,10 MOVSI,OFFSETBLOCK1 MOVDI,OFFSETBLOCK2NEXT: MOVAL,[SI] MOV[DI],AL INCSI INCDI DECCX JNZNEXT HLT進棧指令先使堆棧指針SP減2,然后把一個字操作數(shù)存入堆棧頂部用堆棧交換AX與CX的值。push ax push cx pop ax pop cx交換指令XCHG(xchgal,byteptrwvar+1 ;ax=5599h,wvar=6611h ;“byteptrwvar+1”例3-18內(nèi)存的數(shù)據(jù)段有一張0~9的平方表,首地址為TABLE,如圖所示,用換碼指令實現(xiàn)求數(shù)字4的平方。 MOVBX,OFFSETTABLE MOVAL,4 XLAT加法指令2、減法指令3、乘法指令4、除法指令加法指令:ADD,ADC和INC減法指令:SUB,SBB,DEC,NEG和CMP他們分別執(zhí)行字或字節(jié)的加法和減法運算,除INC和DEC不影響CF標志外,其他按定義影響全部狀態(tài)標志位[例3-32]在數(shù)據(jù)段從BLOCK開始的存儲單元中存放了兩個8位無符號數(shù),試比較它們的大小,將較大者傳送到MAX單元。 LEABX,BLOCK MOVAL,[BX] INCBX CMPAL,[BX] JNCDONE MOVAL,[BX] DONE:MOVMAX,AL HLT邏輯指令AND、OR、XOR和TEST屏蔽AL寄存器的低四位。MOVAL,0FFH11111111ANDAL,0F0H∧1111000011110000例3:使某數(shù)的第4、5位置1。MOVAL,03H00000011ORAL,30H∨0011000000110011[例3-47]判斷DATA單元的數(shù)據(jù)是否為0。 MOVAX,DATA ORAX,AX JZZERO ……ZERO:…….例4:使某數(shù)的D1、D0位取反,其它位不變。MOVAL,11H00010001XORAL,03H⊕00000011=00010010AND與TEST指令的關(guān)系,同SUB與CMP指令的關(guān)系一樣例7:檢測AL中的最低位是否為1,若為1則轉(zhuǎn)移。MOVAL,data01000001TESTAL,01H∧00000001JNZNext00000001Next:MOVBL,0TEST通常用于檢測一些條件是否滿足,但又不希望改變原來操作數(shù)的情況,該指令后通常帶有條件轉(zhuǎn)移指令。移位指令:移位指令的第一個操作數(shù)是指定的被移位的操作數(shù),可以是寄存器或存儲單元;后一個操作數(shù)表示移位位數(shù):該操作數(shù)為1,表示移動一位該操作數(shù)為CL,CL寄存器值表示移位位數(shù)(移位位數(shù)大于1只能CL表示)SALSHLSARSHR循環(huán)移位指令類似移位指令,但要將從一端移出的位返回到另一端形成循環(huán)。分為:ROLreg/mem,1/CL ;不帶進位循環(huán)左移RORreg/mem,1/CL ;不帶進位循環(huán)右移RCLreg/mem,1/CL ;帶進位循環(huán)左移RCRreg/mem,1/CL ;帶進位循環(huán)右移循環(huán)移位指令按指令功能設(shè)置進位標志CF,但不影響SF、ZF、PF、AF標志,OF只當CNT=1時有效,移位后當最高有效位發(fā)生變化時(如1變0)OF=1,否則OF=0。將DX.AX中32位數(shù)值左移一位shlax,1rcldx,1控制轉(zhuǎn)移指令JMPJZJNZ例3.23判斷是否為字母Y寄存器AL中是字母Y(含大小寫),則令AH=0,否則令AH=-1 cmpal,’y’ ;比較AL與小寫字母y jenext ;相等,轉(zhuǎn)移 cmpal,’Y’ ;不相等, ;繼續(xù)比較AL與大寫字母Y jenext ;相等,轉(zhuǎn)移 movah,-1 ;不相等,令AH=-1 jmpdone ;無條件轉(zhuǎn)移指令next: movah,0 ;相等的處理:令AH=0done: ……[例3-68]在內(nèi)存中有一個首地址為ARRAY的數(shù)據(jù)區(qū)存放了200個8位有符號數(shù),統(tǒng)計其中正數(shù)、負數(shù)、0的個數(shù),并分別將統(tǒng)計結(jié)果存入PLUS、MINUS和ZERO單元中。XORAL,AL MOVPLUS,AL MOVMINUS,AL MOVZERO,AL LEASI,ARRAYMOVCX,200 CLDLLAB:LODSB ORAL,ALJSMLABJZZLABINCPLUS JMPNEXTMLAB:INCMINUS JMPNEXTZLAB:INCZERONEXT:DECCX JNZLLABHLTLOOPlabel ;循環(huán)指令I(lǐng)RET偽指令:DB,DW,byteptr例2:操作數(shù)可以是字符串,例如 STRDB ‘HELLO’匯編后的情況如圖:某數(shù)據(jù)段定義為 DATASEGMENT S1DB0,1,2,3,4,5 S2DB‘12345 COUNTEQU$-S1 S3DBCOUNTDUP(2)DATAENDS畫出該數(shù)據(jù)段在存儲器中的存儲形式DOS系統(tǒng)功能調(diào)用介紹(1)從鍵盤輸入一個字符(功能號=1)MOVAH,1INT21H<AL中有鍵入的字符>(1)在顯示器上顯示一個字符(功能號=2)MOVAH,2MOVDL,<要顯示的字符>INT21H例:在顯示器上顯示一個字符‘A’MOVAH,2MOVDL,’A’;或MOVDL,41HINT21H(2)顯示字符串(功能號=9)MOVAH,9LEADX,<字符串>INT21H注意:被顯示的字符串必須以’$’結(jié)束。分支程序設(shè)計4-31求符號字節(jié)數(shù)X的絕對值,X用補碼表示DATASEGMENT XDB-50DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOVAL,X;取X TESTAL,80H;測試符號位 JZDONE;若大于0,轉(zhuǎn)done NEGAL;若小于0,求補得到|x| MOVX,AL;保存DONE: MOVAH,4CH INT21HCODEENDS ENDSTART關(guān)于存儲器:擴展存儲器所需存儲芯片的數(shù)量計算:若用一個容量為mK×n位的存儲芯片構(gòu)成容量為MK×N位(假設(shè)M>m,N>n,即需字位同時擴展)的存儲器,則這個存儲器所需要的存儲芯片數(shù)為(M/m)×(N/n)。RAM芯片的容量:為220×16b,問(1)該芯片地址線多少,(2)數(shù)據(jù)線多少SRAM與CPU連接:CPU數(shù)據(jù)總線不相同,連接不一樣。8086CPU的16數(shù)據(jù)總線,其高8位數(shù)據(jù)線D15-D8接存儲器的奇地址體低8位數(shù)據(jù)線D7-D0接存儲器的偶地址體,根據(jù)BHE(選擇奇地址庫)和A0(選擇偶地址庫)的不同狀態(tài)組合決定對存儲器做字操作還是字節(jié)操作存儲器與CPU地址總線的連接:低位地址線直接和存儲芯片的地址信號連接作為片內(nèi)地址譯碼高位地址線主要用來產(chǎn)生選片信號(稱為片間地址譯碼),以決定每個存儲芯片在整個存儲單元中的地址范圍,避免各芯片地址空間的重疊。片選譯碼的幾種方法:①全譯碼:所有的地址線全用上,無地址重疊。②部分譯碼:部分高位地址沒有用,存在地址重疊。(3)全譯碼,每個存儲單元的地址都是唯一的,不存在地址重復,但譯碼電路可能比較復雜、連線也較多I/O端口與存儲器統(tǒng)一編址概念I(lǐng)/O端口獨立編址概念8086采用獨立編址I/O端口地址譯碼的一般原則:把CPU用于I/O端口尋址的地址線分為高位地址線和低位地址線兩部分:例6-1,某8088最小系統(tǒng),I/O接口譯碼電路如圖A0-A9選擇端口CPU和外設(shè)間的數(shù)據(jù)傳送方式程序控制方式中斷控制方式DMA方式程序控制方式無條件傳送方式查詢傳送方式查詢傳送方式CPU從接口中讀取狀態(tài)字CPU檢測狀態(tài)字傳送數(shù)據(jù)數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口a)查詢式輸入的算法:(1)用指令檢測Ready:INAL,三態(tài)緩沖器(或狀態(tài)寄存器)的地址(2)若Ready=0,返回(1)(3)若Ready=1,發(fā)出INAL,輸入接口數(shù)據(jù)寄存器的端口地址。查詢輸入: MOVBX,OFFSETSTOREIN_TEST: INAL,狀態(tài)口地址 TESTAL,80H JZIN_TEST INAL,數(shù)據(jù)口地址 MOV[BX],AL INCBX …查詢式輸出的接口電路接至查詢式輸出的接口電路接至D7b)查詢式輸出: MOVBX,OFFSETSTOREOUT_TEST: INAL,100;狀態(tài)端口 TESTAL,80H JNZOUT_TEST MOVAL,[BX] OUT101,AL;數(shù)據(jù)端口 INCBX …中斷概念:中斷向量表是存放中斷向量的一個特定的內(nèi)存區(qū)域。中斷向量,就是中斷服務(wù)子程序的入口地址。中斷向量表:中斷服務(wù)程序的入口地址(首地址)邏輯地址含有段地址CS和偏移地址IP(共32位),其中低字是偏移地址、高字是段地址8086微處理器從物理地址00000H開始,依次安排各個中斷向量,向量號也從0開始256個中斷占用1KB區(qū)域,就形成中斷向量表8259:完全嵌套方式(默認工作方式):中斷請求按優(yōu)先級IR0~IR7處理,IR0優(yōu)先級最高,IR7最低。當有中斷發(fā)生時,如果有更高級的中斷請求到來,會發(fā)生中斷嵌套。中斷結(jié)束命令(1)自動中斷結(jié)束模式(AEOI)自動結(jié)束方式一進入中斷就將ISR中對應的狀態(tài)標志清除,因為ISR是優(yōu)先仲裁的依據(jù),所以這種方式只能用在不會出現(xiàn)嵌套的簡單場合。(2)非自動中斷結(jié)束方式(EOI)②一般結(jié)束方式:當發(fā)出中斷結(jié)束命令后,用結(jié)束指令把當前中斷服務(wù)寄存器(ISR)中優(yōu)先級最高的(正在處理的)IS位清除。(最常用)8259初始化:(2)ICW2(中斷向量命令字)向8259A寫入ICW1命令字后,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論