




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
緒論2§1-1微型計算機(jī)的發(fā)展概況電子計算機(jī)的發(fā)展史微型計算機(jī)的發(fā)展史3電子計算機(jī)的發(fā)展電子管計算機(jī)(1946)晶體管計算機(jī)(1958)集成電路計算機(jī)(1965)大規(guī)模集成電路計算機(jī)(1970)越來越大:小→中→大→巨越來越小:微型計算機(jī)…...4電子計算機(jī)的發(fā)展——ENIAC第一臺電子計算機(jī)(通用可編程序)18800電子管30噸150平方米150kw5000次/秒5電子計算機(jī)的發(fā)展——ENIAC6電子計算機(jī)的發(fā)展——ENIAC7電子計算機(jī)的發(fā)展——ENIAC8微型計算機(jī)的發(fā)展摩爾定律第N代微處理器9摩爾定律芯片的容量每18-24個月增加一倍10微處理器的發(fā)展4004(2300/50μm)/80088080/8085、8086/808880286/80386/80486Pentium/PentiumPro/PentiumⅡPentiumⅢ/PentiumⅣ(4200萬/0.13μm)集成電路技術(shù)的發(fā)展是基礎(chǔ)高性能、低能耗、高速度、低成本11Intel400412Intel808813IntelPentium14IntelPentiumⅡ15§1-2微型計算機(jī)的特點和應(yīng)用微型計算機(jī)的特點微型計算機(jī)的應(yīng)用16微型計算機(jī)的特點體積小、功耗低可靠性高、使用環(huán)境要求低系統(tǒng)外部芯片配套,系統(tǒng)設(shè)計靈活性能優(yōu)良、價格低廉17微型計算機(jī)的應(yīng)用無處不在科學(xué)計算信息處理計算機(jī)控制智能儀器計算機(jī)通訊家用電器計算機(jī)輔助設(shè)計/制造18§1-3微型計算機(jī)系統(tǒng)術(shù)語微型計算機(jī)系統(tǒng)基本構(gòu)成單片/單板計算機(jī)19術(shù)語
微處理器 運算器 控制器 微型計算機(jī) 寄存器 內(nèi)存儲器 輸入/輸出接口微型計算機(jī)系統(tǒng) 輸入/輸出設(shè)備及外存儲器 系統(tǒng)軟件 應(yīng)用軟件 電源、面板、機(jī)架等20微型計算機(jī)系統(tǒng)基本構(gòu)成21微型計算機(jī)系統(tǒng)基本構(gòu)成22微處理器中央處理器(CPU)運算器完成算術(shù)/邏輯運算控制器操作控制寄存器組存放參加運算的數(shù)據(jù)、中間結(jié)果、地址等23總線在計算機(jī)中,各個部件之間傳送信息的公共連線稱為總線。內(nèi)部總線元件級總線板卡總線/局部總線24地址總線(AddressBus)CPU用來向存儲器或I/O端口傳送地址單向(CPU發(fā)出)位數(shù)(n)決定了CPU可直接尋址的內(nèi)存容量(2n)25數(shù)據(jù)總線(DataBus)CPU與存儲器及外設(shè)交換數(shù)據(jù)的通路雙向、三態(tài)位數(shù)與微處理器的位數(shù)相同26控制總線(ControlBus)用來傳輸控制信號由兩種方向的單向控制信號組成27單片/單板計算機(jī)單片機(jī)單板計算機(jī)28單片機(jī)將CPU、部分存儲器、部分I/O接口集成在一個芯片上29§3-18086的尋址方式指令與指令格式指令尋址方式30指令機(jī)器指令以二進(jìn)制代碼(機(jī)器碼)表示指令直接,不易讀懂匯編指令以符號形式表示指令易讀,需要翻譯(匯編)與CPU相關(guān)31指令成分操作碼(操作的性質(zhì))表示指令應(yīng)完成的具體操作以助記符的形式表示操作數(shù)(操作的對象)表示指令的操作對象(參與操作的對象)源操作數(shù)、目的操作數(shù)32指令操作數(shù)雙操作數(shù)OPR DEST,SRC單操作數(shù)OPR DEST無操作數(shù)OPR
(隱含操作數(shù))33尋址方式及操作數(shù)類型尋找指令中所需操作數(shù)的方法所需的操作數(shù)寄存器操作數(shù)存儲器操作數(shù)立即數(shù)操作數(shù)輸入/輸出端口操作數(shù)34指令尋址方式立即數(shù)尋址寄存器尋址#存儲器尋址直接尋址寄存器間接尋址變址尋址基址尋址基址變址尋址I/O尋址35尋址方式——立即數(shù)尋址指令中直接給出操作數(shù)本身八位/十六位的常數(shù)僅用作源操作數(shù)的尋址
MOV AX,1000H; AX←1000H MOV AH,10H; AH←10H36尋址方式——立即數(shù)尋址MOVCX,2A50H37尋址方式——寄存器尋址所需的操作數(shù)在CPU的寄存器中,指令中給出該寄存器的名稱八位/十六位寄存器速度較快
MOV AX,BX;AX←(BX)
MOV AH,AL;AH←(AL)38尋址方式——直接尋址所需的操作數(shù)在存儲器中。指令中直接給出操作數(shù)所在單元的有效地址(段內(nèi)偏移地址)
MOVAX,[1000H];AX←(DS:1000H) MOV[1000H],AH;DS:1000H←(AH)39尋址方式——直接尋址MOVAX,[2000H]40尋址方式——寄存器間接尋址所需的操作數(shù)在存儲器中。操作數(shù)所在單元的有效地址存放在寄存器中,指令中給出寄存器的名稱僅限于BX、BP、SI、DI MOVAX,[BX];AX←(DS:(BX)) MOVAH,[BP];AH←(SS:(BP))41尋址方式——寄存器間接尋址MOVBX,[SI]42尋址方式——變址尋址所需的操作數(shù)在存儲器中變址寄存器:SI、DI操作數(shù)所在單元的有效地址變址寄存器內(nèi)容指令中給出的相對位移
MOVAX,2[DI];AX←(DS:(DI)+2) MOVAX,[DI+2];AX←(DS:(DI)+2)∑43尋址方式——變址尋址MOVBX,COUNT[SI]44尋址方式——基址尋址所需的操作數(shù)在存儲器中?;芳拇嫫鳎築X、BP操作數(shù)所在單元的有效地址基址寄存器內(nèi)容指令中給出的相對位移
MOVAX,2[BX];AX←(DS:(BX)+2) MOVAX,[BX+2];AX←(DS:(BX)+2)∑45尋址方式——基址變址尋址所需的操作數(shù)在存儲器中。操作數(shù)所在單元的有效地址:基址寄存器內(nèi)容變址寄存器內(nèi)容指令中給出的相對位移
MOVAX,2[BX][DI];
AX←(DS:(BX)+(DI)+2)∑46尋址方式——基址變址尋址MOVAX,[BX][SI]47尋址方式——基址變址尋址MOVAX,MASK[BX][SI]48尋址方式——存儲器尋址小結(jié)指令中給出地址表達(dá)式,有效地址EA由三部分組成(可選)相對位移Disp基址寄存器BX/BP變址寄存器SI/DI49尋址方式——輸入/輸出尋址輸入輸出端口操作數(shù)直接尋址指令中直接給出I/O端口地址的低八位,只能訪問256個I/O端口(00H~FFH)
INAL,2FH間接尋址用寄存器DX的內(nèi)容來指定I/O端口地址適用十六位地址,能訪問64K個I/O端口(0000H~FFFFH)
INAL,DX50§3-2指令的機(jī)器碼表示法機(jī)器碼二進(jìn)制機(jī)器語言指令變長指令指令指令的長度為1~6個字節(jié)操作碼操作數(shù)字/字節(jié)寄存器...51指令編碼MOVSP,BX52指令編碼MOVWordptr[BX+2100H],0FA50H53§3-38086的指令系統(tǒng)數(shù)據(jù)傳送指令算術(shù)運算指令邏輯運算及移位指令字符串處理指令控制轉(zhuǎn)移指令處理器控制指令54數(shù)據(jù)傳送指令共14條寄存器←→寄存器寄存器←→存儲器累加器←→I/O端口字傳送/字節(jié)傳送除了SAHF/POPF外,均不影響PSW55數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令輸入輸出指令地址目標(biāo)傳送指令#標(biāo)志傳送指令56通用數(shù)據(jù)傳送指令MOV DEST,SRCPUSH SRCPOP DESTXCHG DEST,SRCXLAT57通用數(shù)據(jù)傳送——MOV58通用數(shù)據(jù)傳送——MOV規(guī)則立即數(shù)不能作DEST立即數(shù)不能傳至段寄存器存儲器之間不能交互(雙操作數(shù)時)(串除外)段寄存器之間不能交互CS不能作為DESTIP不能參與傳送DEST和SRC的類型必須一致59通用數(shù)據(jù)傳送——PUSH/POP字操作16位操作數(shù)通用寄存器段寄存器(CS不能用于POP)存儲器FILOSP指向棧頂?shù)撞扛叩刂?頂部低地址60通用數(shù)據(jù)傳送——XCHG8位/16位操作數(shù)交換寄存器←→寄存器寄存器←→存儲器段寄存器不能參與61通用數(shù)據(jù)傳送——XLAT查表(DS×10H+(BX)+(AL))→ALBX:表首AL:表內(nèi)偏移值(自變量)62輸入輸出指令累加器AX/AL←→I/O端口輸入指令I(lǐng)N輸出指令OUT63輸入輸出指令——ININ AL,34H ;(34H)→ALIN AX,34H ;(34H)→AL ;(35H)→AHIN AL,DX ;((DX))→ALIN AX,DX ;((DX))→AL ;((DX)+1)→AH64地址目標(biāo)傳送指令LEADEST,SRCLDSDEST,SRCLESDEST,SRC其中DEST:16位通用寄存器(除了段寄存器)SRC:存儲器操作數(shù)(地址表達(dá)式)65地址目標(biāo)傳送——LEALEA BX,1000H[BX][SI] 1000H+(BX)+(SI)→BX有效地址(段內(nèi)偏移地址)66地址目標(biāo)傳送——LDSLDS SI,1000H[BX][SI]
67地址目標(biāo)傳送——LESLES DI,1000H[BX][SI]
68標(biāo)志傳送指令LAHFSAHFPUSHFPOPF隱含操作數(shù)影響PSW 69算術(shù)運算指令操作數(shù)帶符號二進(jìn)制數(shù)(補碼)無符號數(shù)二進(jìn)制數(shù)無符號壓縮十進(jìn)制數(shù)無符號非壓縮十進(jìn)制數(shù)70算術(shù)運算指令加法減法乘法除法71加法運算指令A(yù)DD DEST,SRCADC DEST,SRCINC DESTAAADAA72減法運算指令SUB DEST,SRCSBB DEST,SRCDEC DESTNEG DESTCMP DEST,SRCAASDAS73乘法運算指令MUL SRCIMUL SRCAAM74除法運算指令DIV SRCIDIV SRCAADCBWCWD75邏輯運算及移位指令邏輯運算算術(shù)移位循環(huán)移位76邏輯運算按位運算NOT DEST ;不影響標(biāo)志位AND DEST,SRC OR DEST,SRC CF/OF→0XOR DEST,SRC AF無效TEST DEST,SRC ZF/SF/PF有效77算術(shù)移位SHL DEST,計數(shù)值 SHR DEST,計數(shù)值SAR DEST,計數(shù)值計數(shù)值大于1時,必須使用CL作計數(shù)器0CF0CFCF78循環(huán)移位ROL DEST,計數(shù)值 ROR DEST,計數(shù)值RCL DEST,計數(shù)值RCR DEST,計數(shù)值CFCFCFCF79串處理指令(串操作)批量數(shù)據(jù)處理串一系列存放在存儲器中的字或字節(jié)數(shù)據(jù)最大串長64KB串元素串中的成員每種串操作指令只對串中的元素作同一種操作80串處理指令(串操作)81串處理指令(串操作)串指令的操作源串位于DS段內(nèi)(可以使用段前綴),偏移量由SI給出目的串位于ES段內(nèi)(不允許使用段前綴),偏移量由DI給出每次執(zhí)行后修正SI/DI,增減方向由DF確定(DF=1:減量;DF=0:增量)。(STD/CLD)串的長度(字節(jié)/字?jǐn)?shù))存放在CX中可以在存儲器之間操作82串處理指令(串操作)串操作單次操作按指令內(nèi)容執(zhí)行一次操作修正SI/DI重復(fù)操作REP前綴重復(fù)指令串指令規(guī)定的操作,直至次數(shù)到或條件成立如 REPMOVS83串處理指令(串操作)MOVS((DS)×10H+(SI))→((ES)×10H+(DI))ifDF=1then(SI)-1→SI,(DI)-1→DI else (SI)+1→SI,(DI)+1→DIREPMOVS……(CX)-1→CXif(CX)<>0thenREDOelseContinue84串處理指令(串操作)CMPS串比較SCAS串掃描指令將AX(或AL)中的數(shù)據(jù)與目標(biāo)串中的數(shù)據(jù)比較用作數(shù)據(jù)搜索LODS數(shù)據(jù)串裝入將源串中的數(shù)據(jù)(單個)裝入AX(或AL)中重復(fù)前綴無實際意義STOS串存儲將AX(或AL)中的數(shù)據(jù)存入目的串單元中可加重復(fù)前綴85串處理指令(串操作)重復(fù)前綴REPREPE/REPZREPNE/REPNZ86控制轉(zhuǎn)移指令程序轉(zhuǎn)移改變CS:IP(或IP)JMP/J××CALL/RETLOOP/LOOP××87控制轉(zhuǎn)移指令——無條件轉(zhuǎn)移JMP目標(biāo)88控制轉(zhuǎn)移指令——無條件轉(zhuǎn)移JMPDWORDPTR[SI+0125H](CS)=1200H,(IP)=0005H(DS)=2500H,(SI)=1300H(26425H)=4500H,(26427H)=32F0H89控制轉(zhuǎn)移指令——無條件轉(zhuǎn)移90控制轉(zhuǎn)移指令——子程序調(diào)用CALL過程名斷點入?!D(zhuǎn)移(改變CS:IP)RET斷點出?!鶦S:IPCALL段內(nèi)/段間直接/間接91控制轉(zhuǎn)移指令——子程序調(diào)用段內(nèi)直接目標(biāo)地址的偏差在指令中CALLPROG_G(CS)=2000H,(IP)=1050H(SS)=5000H,(SP)=0100HDISP=1234HIP←(IP)+DISP92控制轉(zhuǎn)移指令——子程序調(diào)用93控制轉(zhuǎn)移指令——子程序調(diào)用段內(nèi)間接CALLBX目標(biāo)地址在寄存器中CALLWORDPTR[BX+SI]目標(biāo)地址在存儲器中94控制轉(zhuǎn)移指令——子程序調(diào)用段間直接目標(biāo)地址在指令中CALLFARPTRPROG_F(CS)=1000H,(IP)=205AH(SS)=2500H,(SP)=0050HPROG_F位置(CS)=3000H,(IP)=0500H95控制轉(zhuǎn)移指令——子程序調(diào)用96控制轉(zhuǎn)移指令——子程序調(diào)用段間間接CALLDWORDPTR[BX]目標(biāo)地址存放在存儲器中97控制轉(zhuǎn)移指令——條件轉(zhuǎn)移根據(jù)標(biāo)志寄存器的狀態(tài)來決定是否轉(zhuǎn)移相對轉(zhuǎn)移在IP上疊加位移(八位)段內(nèi)J××目標(biāo)98控制轉(zhuǎn)移指令——條件轉(zhuǎn)移99控制轉(zhuǎn)移指令——條件轉(zhuǎn)移100控制轉(zhuǎn)移指令——循環(huán)重復(fù)執(zhí)行循環(huán)體內(nèi)的指令LOOP目標(biāo)CX為循環(huán)次數(shù)相對轉(zhuǎn)移101控制轉(zhuǎn)移指令——循環(huán)LOOPLOOPE/LOOPZLOOPNE/LOOPNZJCXZ102處理器控制指令103課堂練習(xí)概述匯編語言利用指令的助記符、符號地址、標(biāo)號來編寫的語句匯編語言源原程序用匯編語言編寫的程序匯編程序連接程序匯編語言源程序目標(biāo)程序可執(zhí)行程序一個例子程序Page124,例4-1程序由段的描述組成指令語句/偽指令語句構(gòu)成§4-1匯編語言程序格式指令性語句偽指令語句數(shù)據(jù)項匯編語言程序格式——指令語句對象CPU與機(jī)器碼相對應(yīng),要求CPU執(zhí)行的操作格式
[標(biāo)號:]指令助記符
[[操作數(shù)],操作數(shù)][;注釋]匯編語言程序格式——偽指令語句對象匯編程序通知編譯器,如何生成目標(biāo)碼。本身不產(chǎn)生機(jī)器目標(biāo)嗎格式
[名字]偽指令助記符
[[操作數(shù)],操作數(shù)...][;注釋]匯編語言程序格式——數(shù)據(jù)項常數(shù)確定的數(shù)據(jù),有固定值,沒有屬性變量存放在存儲單元中的值在程序中以變量名的形式出現(xiàn),代表存放數(shù)據(jù)的存儲單元的符號地址三屬性段屬性/段內(nèi)偏移量屬性/類型屬性匯編語言程序格式——數(shù)據(jù)項標(biāo)號可執(zhí)行指令語句的首字節(jié)地址的符號表示被JMP/CALL/LOOP等所使用三屬性段屬性/段內(nèi)偏移量屬性/類型(距離)屬性§4-2MASM中的表達(dá)式指令操作數(shù)形式常數(shù)、變量、標(biāo)號、表達(dá)式、關(guān)鍵字表達(dá)式的構(gòu)成運算符運算對象:常數(shù)、變量、標(biāo)號結(jié)果為常數(shù)、地址在匯編時求值六大類運算表達(dá)式——算術(shù)運算加、減、乘、除、模、左移、右移運算對象、結(jié)果整數(shù)禁忌地址相加無法求值表達(dá)式——算術(shù)運算例:abc equ 35hvar1 db 10hvar2 db 0ahmov ax,abcshr4mov ax,abcshl4mov cx,var2-var1mov bx,abc-5表達(dá)式——邏輯運算與、或、非、異或——按位運算運算對象、結(jié)果常數(shù)禁忌變量名表達(dá)式——邏輯運算例:abc = 10habc1 equ 2ahv1 db 3ahmov ax,abcand0fhmov ax,abcorabc1mov ax,v1andabc表達(dá)式——關(guān)系運算EQ、NE、LT、GT、LE、GE對象數(shù)據(jù)同段內(nèi)的偏移地址結(jié)果真:全1假:全0表達(dá)式——關(guān)系運算例:abc equ 10hmov ax,abceq10mov ax,abclt10mov ax,abcgt10表達(dá)式——數(shù)值返回運算Offset、seg、type、length、size對象變量、標(biāo)號結(jié)果值表達(dá)式——數(shù)值返回運算Offset變量、標(biāo)號的段內(nèi)偏移地址與LEA的差異???Seg變量、標(biāo)號的段地址表達(dá)式——數(shù)值返回運算Type變量、標(biāo)號的類型屬性Length外層DUP的單元個數(shù)無DUP則返回1表達(dá)式——數(shù)值返回運算Sizesize=length*type表達(dá)式——屬性修改運算Ptr臨時改變變量、標(biāo)號的類型屬性mov wordptr[bx],0jmp farptrsub1This給變量、標(biāo)號賦予類型first equthisbytetable dw2000h表達(dá)式——屬性修改運算High/Low字節(jié)分離常數(shù)、常數(shù)表達(dá)式mov al,low(offsetda1)§4-3偽指令語句不生成機(jī)器碼,幫助解釋、生成指令的機(jī)器碼變量定義、存儲器分配、段定義……偽指令語句——數(shù)據(jù)定義定義/分配變量的存儲器單元,并初始化存儲器單元格式變量名助記符操作數(shù),操作數(shù)…;注釋符號地址DBDWDD偽指令語句——數(shù)據(jù)定義DUP的使用定義重復(fù)數(shù)據(jù)例abc db 10dup(0)ab db 100dup(1,2,34dup(0))偽指令語句——數(shù)據(jù)定義字符串的定義DB/DW/DD?DB按正常的順序排列DW/DD只能以兩個一組作定義,順序不同偽指令語句——數(shù)據(jù)定義符號地址的使用DW?DD?DB??偽指令語句——賦值不分配存儲器空間常數(shù)EQU不可重復(fù)賦值=可重復(fù)賦值偽指令語句——段定義段名segment定位類型組合類型‘分類名’
……段名 ends偽指令語句——段定義段名segment定位類型組合類型‘分類名’
……段名 ends定義該段起始地址定位ParaByteWordPage偽指令語句——段定義段名segment定位類型組合類型‘分類名’
……段名 ends定義組合類型NONEPUBLICCOMMONATSTACK偽指令語句——段定義段名segment定位類型組合類型‘分類名’
……段名 ends定義該段的分類名,分類名相同,被組合成同一個段偽指令語句——數(shù)據(jù)定義dsegsegmentat0055h one db 0 two dw two three dd two four equ 10h five dw four six db 5-fourdseg ends偽指令語句——段分配語句ASSUME說明當(dāng)前段是哪些段,幫助匯編程序產(chǎn)生段前綴必須放在第一句指令之前不得短缺Assumecs:cseg,ds:dseg,ss:sseg,es:esegAssumenothing偽指令語句——過程定義子程序格式 過程名 PROC 屬性
…… Ret
過程名 ENDP偽指令語句——END結(jié)束語句標(biāo)識程序的首指令格式END 標(biāo)號偽指令語句——段寄存器的初始化DS/ES指令裝入movax,dsegmovds,axmovax,esegmoves,ax偽指令語句——段寄存器的初始化SS/SP自動裝入ssegsegmentSTACK dw 100dup(0)ssegends偽指令語句——段寄存器的初始化SS/SP(指令裝入)定義sseg segment dw 100dup(0)top label wordsseg ends裝入Movax,ssegMovss,axMovsp,offsettoptopequthisword偽指令語句——段寄存器的初始化CS自動裝入end后的標(biāo)號便是第一條指令(語句)CS:IP匯編語言源程序的框架段的描述title注釋數(shù)據(jù)段(附加段)堆棧段代碼段(Assume)end標(biāo)號匯編語言源程序的框架Title<程序名><常量定義>dseg segment <變量定義>dseg endseseg segment <變量定義>eseg endssseg segmentstack 100Hdup(0)sseg ends
cseg segment assumecs:cseg,ds:dseg,es:eseg,ss:ssegmain procfarstart: push ds xor ax,ax push ax mov ax,dseg mov ds,ax mov ax,eseg mov es,eseg …… retmain endpcseg endsend start其他偽指令ORG<表達(dá)式>定位偽指令設(shè)置匯編程序位置指針,指定下一語句的起始偏移地址$匯編時用于指示下一數(shù)據(jù)/指令的段內(nèi)偏移量,當(dāng)前位置計數(shù)器常常用來計算前一變量的長度,字節(jié)數(shù)其他偽指令dseg segment
org1000hv1 db 10h,20h,30H,40Hcount equ $-v1dseg ends其他偽指令<名稱>Label<類型>給存儲單元(變量或標(biāo)號)取一名字,并指定其類型<名稱>同樣具有三個屬性DataByte Label ByteDataWord DW 20HDup(0)結(jié)構(gòu)定義語句復(fù)雜數(shù)據(jù)的定義,將不同類型的數(shù)據(jù)放在同一個數(shù)據(jù)結(jié)構(gòu)中結(jié)構(gòu)定義
結(jié)構(gòu)名 STRUC ……
結(jié)構(gòu)名 ENDS結(jié)構(gòu)變量預(yù)置結(jié)構(gòu)變量名 結(jié)構(gòu)名<元素值,元素值,……>定義結(jié)構(gòu)成員,但不分配內(nèi)存預(yù)置時,才被分配存儲單元結(jié)構(gòu)定義預(yù)置tab struc t1 db ‘a(chǎn)bcd’ t2 dw ? t3 dw segL1 t4 dw 2dup(0) t5 dw 1122H dw 3344Htab endsone tab <>two tab <‘STOP’>three tab <,0FH,SEGL2>four tab 5dup<‘EFGH’,55H>
結(jié)構(gòu)中的變量簡單變量由DB、DW、DD定義的單個結(jié)構(gòu)元素內(nèi)容可被修改如: T1 DW 1234H多重變量包含多個元素值不可改,只能使用初值如: T4 DW 2DUP(0)
T5 DW 1122H,3344H結(jié)構(gòu)中的變量字符串內(nèi)容可改,長度不得超過如: T6 DB ‘ASBD’多重結(jié)構(gòu)引用另一結(jié)構(gòu)結(jié)構(gòu)的使用MOV TWO.T2, AXMOV BX, FOUR.T5[0]MOV SI, OFFSETFOURMOV BX, [SI].T5[0]結(jié)構(gòu)的使用例:Page149/例4-41利用結(jié)構(gòu)存儲學(xué)生的信息結(jié)構(gòu)變量的預(yù)置……§4-4DOS系統(tǒng)功能調(diào)用和BIOS中斷調(diào)用中斷服務(wù)子程序INTnAPI,用戶不必了解I/O設(shè)備及接口的要求,方便使用常用的軟件中斷退出程序Int20h,程序段前綴,DS段首地址:INT20H的代碼Int21h,返回DOSInt27h,駐留退出根據(jù)情況選擇退出的方式存儲器概述計算機(jī)中用來存儲程序和數(shù)據(jù)的部件表征計算機(jī)的記憶能力存儲器用途可分為內(nèi)存儲器外存儲器存儲器概述RAMSRAMDRAMROMMROMPROMEPROMEEPROM存儲器概述存儲器的引腳特征地址線數(shù)據(jù)線片選輸出允許讀/寫控制隨機(jī)存取存儲器RAM在正常環(huán)境下可根據(jù)需要進(jìn)行數(shù)據(jù)的讀出和寫入易失性存儲器,需要DC的支持SRAM/DRAMSRAM內(nèi)部結(jié)構(gòu)SRAM例:SRAM2114(1K×4位)1K個存儲單元,每單元4位需要10條地址線,4條數(shù)據(jù)線直接與地址、數(shù)據(jù)線相連DRAM內(nèi)部結(jié)構(gòu)——Intel2164(64K×1)DRAMIntel2164(64K×1位)行、列地址復(fù)用,只有一半的地址引腳利用RAS、CAS進(jìn)行控制需要刷新(典型為2ms~4ms)可通過雙路復(fù)用器電路(74LS157)與地址線相連DRAMS=0:A路S=1:B路ROM非易失性存儲器,主要存放不經(jīng)常修改的數(shù)據(jù)、程序等往往以字節(jié)為基本單元EPROM——2716(2K×8)存儲器與CPU的連接數(shù)據(jù)線——根據(jù)單元寬度連接地址線片內(nèi)地址——選擇片內(nèi)的單元片外地址——參與地址譯碼,確定被選中的存儲芯片地址選擇全譯碼部分譯碼線選存儲器與CPU的連接全譯碼所有的片外地址均參與譯碼,地址空間無浪費74LS138/74LS139存儲器與CPU的連接存儲器與CPU的連接存儲器與CPU的連接部分譯碼部分片外地址參與譯碼線路較簡單地址有重疊存儲器與CPU的連接線選個別片外地址線直接連至存儲芯片的片選輸入端有大量的地址重疊只適用于小存儲容量需求的場合書,page234存儲器與CPU的連接16位系統(tǒng)的連接存儲器與CPU的連接存儲器與CPU的連接存儲器與CPU的連接#1~#8,SRAM6116(2K×8)#9~#16,EPROM2732(4K×8)存儲器空間的分配和使用MSDOS支持640KB主存儲器,成為阻礙計算機(jī)發(fā)展的瓶頸引入存儲管理的理念三大模式實模式保護(hù)模式V86模式存儲器空間的分配和使用存儲器空間的分配和使用實模式8086的工作模式,20條地址線能尋址1MB的空間邏輯地址——段地址:偏移地址實際地址——段地址×16+偏移地址所有的系統(tǒng)開機(jī)后首先進(jìn)入實模式存儲器空間的分配和使用保護(hù)模式80286以上的CPU具有20位以上的地址總線(超過1MB的尋址能力)保護(hù)模式下,能訪問整個存儲區(qū)域支持分頁(4KB/頁),適于多線程環(huán)境邏輯地址——選擇子:偏移地址實際地址——線性地址或物理地址,二級轉(zhuǎn)換存儲器空間的分配和使用分段:最大為4GB的段,共64TB分頁:頁號:頁內(nèi)地址物理地址:頁幀號:頁內(nèi)地址存儲器空間的分配和使用保護(hù)機(jī)制給每個任務(wù)分配不同的虛擬地址空間,進(jìn)行隔離任務(wù)內(nèi)部的保護(hù)機(jī)制,保護(hù)操作系統(tǒng)存儲段及特別的寄存器,不被其他應(yīng)用程序所破壞存儲器空間的分配和使用V86模式80386以上的CPU,是保護(hù)模式的子模式提供多個獨立的8086實模式存儲空間多空間之間相互隔離IBMPC/XT機(jī)中的存儲空間分配CPU:8088尋址范圍:1MBDOS:640KB充分利用剩余的384KBIBMPC/XT機(jī)中的存儲空間分配VRAM供顯示卡之用ROMBASICBIOS總稱為UMB,上位存儲器IBMPC/AT機(jī)中的存儲空間分配CPU:80286640KB~1024KB之間是UMB超過1MB部分有64KB的HMA(高位存儲器)具有1MB以上的存儲器區(qū)域XMSIBMPC/AT機(jī)中的存儲空間分配實模式只能訪問1MB及以上HMA(64KB)保護(hù)模式下可以訪問整個空間PC機(jī)中存儲器的使用——主存主存儲器640KB常規(guī)內(nèi)存PC機(jī)中存儲器的使用——UMBPC機(jī)中存儲器的使用——UMBPC機(jī)中存儲器的使用——XMSXMS,擴(kuò)展存儲器除了常規(guī)內(nèi)存、UMB之外的所有存儲區(qū)域HIMEM.SYS使HMA可用PC機(jī)中存儲器的使用——XMSPC機(jī)中存儲器的使用——EMSXMS,擴(kuò)充存儲器將擴(kuò)充存儲器分為若干個16KB的數(shù)據(jù)頁,同一時刻可將四頁COPY至UMB中的頁框內(nèi)進(jìn)行處理利用EMM386.EXE,將擴(kuò)展存儲器模擬成擴(kuò)充存儲器使用速度相對較慢PC機(jī)中存儲器的使用——EMSPC機(jī)中存儲器的使用——小結(jié)§7.1I/O接口輸入/輸出(I/O)接口是CPU與外設(shè)之間傳送信息的一個界面(或連接部件)I/O接口通過三總線與CPU相連I/O接口——作用I/O接口的作用CPU與外界的聯(lián)絡(luò)解決連接的不匹配、不協(xié)調(diào)速度——數(shù)據(jù)緩沖信號電平——信號電平轉(zhuǎn)換電路信號格式——信息轉(zhuǎn)換邏輯時序——時序控制電路多端口、多連接——地址譯碼I/O接口——方式I/O接口與外設(shè)交互三種信息數(shù)據(jù)信息控制信息狀態(tài)信息均通過DBCPU同外設(shè)之間的信息傳遞,實質(zhì)上是對端口進(jìn)行讀/寫操作I/O接口——形式簡單I/O接口電路由簡單組合電路構(gòu)成的I/O接口電路按需求構(gòu)成,不可改變可編程I/O接口(芯片)電路使用專用接口芯片具有內(nèi)部寄存器(方式、狀態(tài)、數(shù)據(jù))由程序設(shè)置(改變)其工作方式I/O接口——簡單電路I/O接口——簡單電路I/O接口——可編程接口電路I/O端口——編址方式I/O獨立編址M/IO=L64K獨立編址的I/O地址空間專用IN/OUT指令存儲器映像編址M/IO=HI/O端口與存儲器統(tǒng)一編址使用存儲器操作指令I(lǐng)/O端口——編址方式00000HFFFFFH0000HFFFFH00000HFFFFFHI/OI/OI/O接口的譯碼端口選擇信號I/O地址總線M/IO全譯碼部分譯碼線選法74LS138CPU與外設(shè)的信息傳遞方式程序控制方式無條件傳送方式條件傳送方式中斷方式DMA方式需DMA控制器的介入程序控制方式——無條件傳送外設(shè)總是準(zhǔn)備好輸入——數(shù)據(jù)已經(jīng)準(zhǔn)備好輸出——已準(zhǔn)備好接收只有數(shù)據(jù),沒有狀態(tài)同步方式不需要過多的程序處理,在需要與外設(shè)交換信息時,隨時訪問I/O端口程序控制方式——無條件傳送程序控制方式——無條件傳送程序控制方式——條件傳送查詢傳送方式查詢外設(shè)的狀態(tài)信息輸入——數(shù)據(jù)已準(zhǔn)備好輸出——接收裝置已準(zhǔn)備好狀態(tài)端口、數(shù)據(jù)端口程序控制方式——條件傳送輸入程序控制方式——條件傳送程序控制方式——條件傳送輸出程序控制方式——條件傳送程序控制方式——中斷方式需要訪問外設(shè)時,允許相應(yīng)的中斷,當(dāng)期望的狀態(tài)到達(dá)時,產(chǎn)生中斷請求充分利用CPU的資源,提高效率常用于高速CPU與低速外設(shè)之間的數(shù)據(jù)交換程序控制方式——DMA方式直接存儲器方式不必通過CPU的中轉(zhuǎn)(IN/OUT指令均通過AL/AX),而直接在I/O接口與存儲器之間進(jìn)行傳遞(搶占總線)需要DMA控制器的介入適用于大量數(shù)據(jù)的交換程序控制方式——DMA方式程序控制方式——I/O處理機(jī)方式DMA可以撇開CPU實現(xiàn)直接的數(shù)據(jù)傳送,但無法單獨實現(xiàn)數(shù)據(jù)的處理建立獨立的處理機(jī)制,單獨處理I/O數(shù)據(jù)例:智能串行接口卡§7.2總線總線——在微型計算機(jī)系統(tǒng)中,用于各部件間傳送信息的公共通路分類片級總線地址、數(shù)據(jù)、控制系統(tǒng)總線板卡間的總線外部總線機(jī)器間的總線總線——PC總線62Pin、8數(shù)據(jù)、20地址總線——ISA總線62+36Pin、16數(shù)據(jù)、24地址兼容PC總線總線——EISA總線198Pin、32數(shù)據(jù)、32地址兼容PC、ISA總線兩層結(jié)構(gòu)插件總線——EISA總線總線——PCI總線PCI——外圍部件互聯(lián)總線,局部總線PnP特性總線——AGP總線AGP——加速圖形端口總線——USB總線USB——通用串行總線全速12Mb/s(<=5米),慢速1.5Mb/s(<=3米)中斷的概念中斷是一個由硬件激發(fā)的過程,它打斷正在執(zhí)行的程序中斷過程當(dāng)CPU正常運行程序時,由于內(nèi)部事件或外設(shè)請求(隨機(jī)的),引起CPU暫時中止正在運行的程序,轉(zhuǎn)去執(zhí)行發(fā)出請求的外設(shè)(或內(nèi)部事件)的服務(wù)子程序,待該服務(wù)程序執(zhí)行完畢,再返回被中止的程序,這一過程稱為中斷。中斷的概念中斷斷點IRET中斷服務(wù)子程序主程序中斷的概念中斷源引起中斷的事件內(nèi)部中斷(片內(nèi)/程序)外部中斷(片外)中斷響應(yīng)CPU對中斷的響應(yīng)(處理)并不是有求必應(yīng)在一定時刻、滿足一定條件,才能響應(yīng)之中斷的概念中斷向量表中斷服務(wù)子程序入口地址的地址表(類似于跳轉(zhuǎn)表)中斷優(yōu)先級多個中斷源之間的輕重緩急高級中斷/低級中斷中斷屏蔽使得CPU無法感知相關(guān)中斷請求的機(jī)制中斷分類中斷分類8086/8088系統(tǒng)可容納256種(個)不同的中斷外部中斷(硬件中斷)不可屏蔽中斷(NMI)可屏蔽中斷(INTR)內(nèi)部中斷(軟件中斷)INT指令CPU出錯調(diào)試中斷分類不可屏蔽中斷(NMI)CPU必須響應(yīng),不受IF的限制緊急事件上升沿觸發(fā)2號類型中斷中斷分類可屏蔽中斷(INTR)除了NMI之外的硬件中斷,絕大部分的外部中斷均由INTR向CPU請求中斷CPU可根據(jù)情況選擇響應(yīng)或不響應(yīng),受IF的制約電平觸發(fā),必須保持,直至CPU響應(yīng)之中斷分類軟件中斷不可屏蔽指令中斷,IntnCPU出錯調(diào)試中斷單步中斷斷點中斷中斷處理過程(可屏蔽)CPU響應(yīng)中斷的條件外設(shè)接口提出(發(fā)出)中斷請求該請求電平信號能到達(dá)CPU的INTR引腳(中途未被屏蔽)CPU的中斷控制位IF=1(允許INTR中斷)CPU執(zhí)行到當(dāng)前指令的最后一個總線周期的最后一個時鐘周期時,才檢測中斷中斷處理過程(可屏蔽)INTR中斷處理過程當(dāng)前指令執(zhí)行結(jié)束判INTR有無中斷請求測IF是否允許響應(yīng)INTR發(fā)INTA信號,獲取中斷向量轉(zhuǎn)至相應(yīng)的中斷服務(wù)子程序FR入棧/IF=0(自動關(guān)中)……中斷返回(IRET)返回斷點/POPFRINTR中斷處理過程(無嵌套)中斷斷點IRET中斷服務(wù)子程序主程序自動關(guān)中斷保護(hù)PSW保護(hù)斷點INTA響應(yīng)中斷獲取中斷類型獲取中斷向量保護(hù)現(xiàn)場中斷處理恢復(fù)現(xiàn)場恢復(fù)PSW恢復(fù)斷點中斷處理過程中斷處理過程——中斷向量表中斷向量表8086/8088系統(tǒng)具有256個中斷類型將256個中斷服務(wù)子程序的入口地址,集中排放在0000:0000開始的區(qū)域內(nèi)每個類型對應(yīng)4個字節(jié)(段:偏移)256×4=1024字節(jié)只需獲得中斷類型即可中斷向量表向量地址類型nn×4→→IPn×4+2→→CS中斷處理過程——向量中斷向量中斷利用中斷類型、中斷向量表決定中斷服務(wù)子程序入口地址的中斷方式中斷處理過程——向量中斷中斷類型的獲得Intn固定的中斷I/O提供的類型號中斷向量的設(shè)置利用Int21HAH=25H,設(shè)置AH=35H直接程序設(shè)置中斷處理過程——向量中斷中斷向量的訪問通過INT21H的設(shè)置AH=25HAL=中斷類型、DS:DX子程序入口地址通過INT21H獲取向量AH=35HAL=中斷類型、ES:BX獲得的入口地址程序直接訪問向量表0段0地址開始的1KB區(qū)域中斷處理過程——向量中斷中斷類型系統(tǒng)中的每個中斷源均具有一個中斷類型內(nèi)部中斷固定中斷類型Intn——n號中斷NMI2號中斷類型INTR由中斷控制器、中斷源向CPU提供中斷類型號中斷處理過程——主程序設(shè)置中斷向量BIOS用戶自定義初始化中斷控制器開中(STI)/關(guān)中(CLI)中斷處理過程——CPU/IO中斷源發(fā)出中斷請求、并到達(dá)CPU引腳CPU在當(dāng)前指令結(jié)束時,判中斷請求NMI——中斷類型為2,必須響應(yīng)INTR——CPU在可以響應(yīng)時(IF=1),發(fā)出INTA,以獲取類型號保護(hù)標(biāo)志寄存器和斷點,轉(zhuǎn)向中斷服務(wù)子程序中斷處理過程——子程序保護(hù)現(xiàn)場開中(如果允許中斷嵌套)中斷處理關(guān)中EOI(清除當(dāng)前中斷的被服務(wù)標(biāo)志)恢復(fù)現(xiàn)場IRET(FR恢復(fù)、段點恢復(fù))此時嵌套的INTR中斷可能被響應(yīng)中斷處理過程——INTA第一個INTA周期通知外設(shè)接口(或中斷控制器),準(zhǔn)備好中斷類型信息第二個INTA周期放出中斷類型號數(shù)據(jù)CPU從DB獲取中斷類型號中斷優(yōu)先級和中斷嵌套中斷嵌套多個中斷源,有可能同時發(fā)出中斷請求多重中斷響應(yīng)(服務(wù))中斷優(yōu)先級給每個中斷源規(guī)定優(yōu)先級別,CPU先響應(yīng)高級中斷的請求一般情況下,在允許中斷嵌套時,高級中斷可以打斷低級中斷,同級或低級中斷不能打斷高級或同級中斷中斷優(yōu)先級和中斷嵌套IBMPC的中斷優(yōu)先級層次內(nèi)部中斷(出錯、INTn)NMIINTR單步中斷中斷優(yōu)先級和中斷嵌套中斷優(yōu)先級的判斷軟件查詢——依優(yōu)先次序查詢中斷優(yōu)先級和中斷嵌套中斷優(yōu)先級的判斷硬件方式——如:菊花鏈中斷優(yōu)先級和中斷嵌套中斷優(yōu)先級的判斷向量中斷控制器——如:8259中斷控制器某中斷正被服務(wù)標(biāo)志中斷優(yōu)先級和中斷嵌套中斷斷點IRET中斷服務(wù)子程序主程序自動關(guān)中斷保護(hù)PSW保護(hù)斷點INTA響應(yīng)中斷獲取中斷類型獲取中斷向量保護(hù)現(xiàn)場中斷處理恢復(fù)現(xiàn)場恢復(fù)PSW恢復(fù)斷點開中斷中斷優(yōu)先級和中斷嵌套IRQ0IRQ1…IRQ7該中斷正被服務(wù)標(biāo)志清除可編程中斷控制器8259A(PIC)8級(可級聯(lián)至64級)優(yōu)先級控制單獨屏蔽/允許提供中斷類型碼可編程多種工作模式具有內(nèi)部寄存器由初始化命令字、操作命令字進(jìn)行編程改變工作模式8259A——內(nèi)部結(jié)構(gòu)8259A——內(nèi)部結(jié)構(gòu)8259A——內(nèi)部結(jié)構(gòu)IRR中斷請求寄存器鎖存中斷請求信號,被響應(yīng)后復(fù)位1:有請求/0:無請求IMR中斷屏蔽寄存器可編程屏蔽控制逐位屏蔽1:屏蔽/0:未屏蔽8259A——內(nèi)部結(jié)構(gòu)PR優(yōu)先級判斷寄存器多種中斷優(yōu)先判斷機(jī)制ISR中斷服務(wù)寄存器中斷正被服務(wù)標(biāo)識1:正被服務(wù)/0:未被服務(wù)全0?全1?8259A——中斷過程一條或多條中斷請求IR變?yōu)楦唠娖?,使IRR相應(yīng)位置1PR分析它們的優(yōu)先級,向CPU發(fā)出中斷請求INTRCPU響應(yīng)中斷,以INTA作為回答8259接受來自CPU的第一個INTA,最高優(yōu)先級的ISR置位,相應(yīng)的IRR復(fù)位第二個INTA,8259向DB發(fā)出中斷類型碼EOI使ISR復(fù)位,示該中斷服務(wù)完畢8259A——中斷管理方式編程結(jié)構(gòu)ICW1~ICW4設(shè)定8259的工作模式OCW1~OCW3控制中斷過程8259A——中斷管理方式優(yōu)先權(quán)管理方法完全嵌套方式特殊全嵌套方式優(yōu)先級自動循環(huán)方式優(yōu)先級特殊循環(huán)方式8259A——中斷管理方式完全嵌套方式最基本的中斷優(yōu)先管理方式(缺?。┕潭ǖ膬?yōu)先級,IR0最高,IR7最低普通EOI、自動EOI特殊全嵌套方式允許同級的中斷打斷適用于級聯(lián)方式主級為特殊全嵌套方式從級為其他優(yōu)先級方式特殊EOI8259A——中斷管理方式優(yōu)先級自動循環(huán)方式優(yōu)先級隊列初始為IR0~IR7被服務(wù)后變?yōu)樽畹推胀‥OI、自動EOI優(yōu)先級特殊循環(huán)方式同前初始的最低優(yōu)先級由程序設(shè)定特殊EOI8259A——中斷管理方式中斷結(jié)束方式普通EOI將ISR中,正在被服務(wù)的具有最高級別的ISR復(fù)位主要用于完全嵌套方式下特殊EOICPU發(fā)出EOI命令,通知8259哪個級別將被EOI自動EOI在第二個INTA之后,即清除對應(yīng)的EOI使低級/同級中斷可以嵌套8259A——中斷管理方式中斷源的屏蔽普通屏蔽方式特殊屏蔽方式在中斷服務(wù)子程序中,使8259OCW3中的SMM=11使IMR中的對應(yīng)位置1結(jié)果是當(dāng)前ISR中的對應(yīng)位復(fù)位導(dǎo)致其他中斷可以嵌套進(jìn)入8259A——中斷管理方式中斷請求的引入邊沿觸發(fā)IRR,INTR,IF=1,INTA電平觸發(fā)IRR,INTR,IF=1,INTA中斷查詢IRR,INTR,IF=0程序查詢IRR(OCW3)8259A——中斷管理方式初始化命令字ICW復(fù)位后,先出現(xiàn)ICW只初始化一次狀態(tài)、中斷方式、優(yōu)先級管理操作命令字OCW對中斷操作過程進(jìn)行控制中斷屏蔽、優(yōu)先級次序、結(jié)束方式OCW1奇地址端口OCW2、OCW3偶地址端口8259A——編程方法設(shè)定中斷請求的信號觸發(fā)方式電平、邊沿工作方式單片、級聯(lián)中斷類型碼的基數(shù)IR0對應(yīng)的類型碼,其余順延優(yōu)先級設(shè)置方式EOI類型8259A編程方法——ICWICW1——芯片控制初始化命令字8259A編程方法——ICW0ICW2——設(shè)置中斷類型碼基數(shù)8259A編程方法——ICWICW3——標(biāo)識主片/從片8259A編程方法——ICWICW4——方式控制初始化8259A編程方法——ICWICW的順序8259A編程方法——ICWOCW1——中斷屏蔽操作命令字8259A編程方法——OCWOCW2——優(yōu)先權(quán)循環(huán)方式和中斷結(jié)束方式操作命令字8259A編程方法——OCWOCW3——特殊屏蔽方式和查詢方式操作命令字8259A編程方法——OCW0x:無效10:下次RD有效時讀IRR11:下次RD有效時讀ISR8259A——中斷的級聯(lián)定時處理方法定時軟件定時方式CPU干預(yù)指令執(zhí)行時間作間隔不可編程的硬件定時方式方式固定硬件設(shè)定參數(shù)可編程的硬件定時方式程序設(shè)定、程序控制中斷定時處理方法定時和計數(shù)器對不同信號的計數(shù)定時器對時鐘信號進(jìn)行計數(shù)周期性計數(shù)器對外部脈沖進(jìn)行計數(shù)周期性、非周期性8253計數(shù)/定時器可編程(工作方式/計數(shù)值)三個獨立的計數(shù)器通道對初值進(jìn)行減一計數(shù)二進(jìn)制/BCD計數(shù)初值計數(shù)對象的最高頻率為2MHz8253計數(shù)/定時器——原理8253計數(shù)/定時器——原理8088/8086的連接方式8253計數(shù)/定時器——原理計數(shù)器的結(jié)構(gòu)16(8×2)位初值寄存器16(8×2)位計數(shù)器執(zhí)行部件減一計數(shù)16(8×2)位輸出鎖存器計數(shù)器的控制GATECLKOUT8253計數(shù)/定時器——原理定時/計數(shù)器初值的計算定時時間=時鐘脈沖周期×預(yù)置的計數(shù)初值定時頻率=時鐘脈沖頻率÷預(yù)置的計數(shù)初值8253CLK輸入脈沖的最大頻率2MHz8253計數(shù)/定時器——編程控制字寄存器8253計數(shù)/定時器——編程初始化操作(三個通道單獨初始化)寫入控制字選擇計數(shù)通道設(shè)置工作方式初值的訪問方式確定初值的數(shù)制(二進(jìn)制/BCD)計數(shù)器清零、OUT初始化寫入初值根據(jù)控制字的規(guī)定順序邊界8253計數(shù)/定時器——編程初始化操作——例8253基址:3F0H、通道0、方式3、BCD初值1234H編程方式字:00110111→3F6H初值:34H→3F0H、12H→3F0H8253計數(shù)/定時器——編程GATE的控制作用8253計數(shù)/定時器——工作方式方式0——計數(shù)結(jié)束中斷方式8253計數(shù)/定時器——工作方式方式0——計數(shù)結(jié)束中斷方式寫入0方式工作字OUT變低寫入初值后,CLK經(jīng)歷上升、下降后,才將初值送入計數(shù)器執(zhí)行部件GATE必須為高GATE中途為低,暫時停止計數(shù)(維持)一次性,不重載裝入初值,即啟動計數(shù)8253計數(shù)/定時器——工作方式方式1——可編程單穩(wěn)態(tài)輸出方式8253計數(shù)/定時器——工作方式方式1——可編程單穩(wěn)態(tài)輸出方式寫入工作方式字OUT變高GATE的上升沿才觸使初值裝入并啟動計數(shù),并使OUT變低若計數(shù)未滿,再出現(xiàn)GATE的上升沿,重載初值,延長計數(shù)時間單穩(wěn)——在規(guī)定的時長內(nèi)(初值),多個GATE信號,只被識別一次——多個GATE信號→一個OUT輸出周期一次性,不重載8253計數(shù)/定時器——工作方式方式2——比率發(fā)生器8253計數(shù)/定時器——工作方式方式2——比率發(fā)生器寫入工作方式字OUT變高GATE必須為高OUT在最后一個CLK周期出現(xiàn)與CLK等寬的負(fù)脈沖計數(shù)到零,重載初值GATE的上升沿,導(dǎo)致初值重載8253計數(shù)/定時器——工作方式方式3——方波發(fā)生器8253計數(shù)/定時器——工作方式方式3——方波發(fā)生器寫入工作方式字OUT變高GATE必須為高,GATE上升沿,重載初值初值(n)偶數(shù)——n/2為高,n/2為低奇數(shù)——(n+1)/2為高,(n-1)/2為低計數(shù)到零,重載初值8253計數(shù)/定時器——工作方式方式4——軟件觸發(fā)單脈沖8253計數(shù)/定時器——工作方式方式4——軟件觸發(fā)單脈沖寫入工作方式字OUT變高GATE必須為高,GATE上升沿重載初值計數(shù)滿,OUT輸出一個CLK周期的負(fù)脈沖一次性,不重載8253計數(shù)/定時器——工作方式方式5——硬件觸發(fā)單脈沖8253計數(shù)/定時器——工作方式方式5——硬件觸發(fā)單脈沖寫入工作方式字OUT變高初值寫入后,并不置入計數(shù)執(zhí)行部件載GATE上升沿后,才啟動計數(shù);到零后,輸出與CLK等寬的負(fù)脈沖,重載初值,等待GATE8253的應(yīng)用舉例8253應(yīng)用定時——針對時鐘脈沖計數(shù)——針對外部脈沖、外部事件波形發(fā)生8253的應(yīng)用舉例——定時波形8253的應(yīng)用舉例——定時波形時間常數(shù)(初值)定時時間=時鐘脈沖周期×預(yù)置的計數(shù)初值定時頻率=時鐘脈沖頻率÷預(yù)置的計數(shù)初值8253的應(yīng)用舉例——定時脈沖8255A的工作原理8255A是一種可編程的并行I/O接口芯片三個八位輸入/輸出端口具有多種工作方式(可編程)一種通用芯片8255A的結(jié)構(gòu)和功能8255A的結(jié)構(gòu)和功能三個八位I/O端口(標(biāo)識為A、B、C)按組進(jìn)行編程A組:端口A+端口C的高4位B組:端口B+端口C的低4位由CS引腳選中,進(jìn)行端口編程、讀或?qū)憙?nèi)部寄存器A、B、C數(shù)據(jù)寄存器(讀/寫)命令字寄存器8255A的結(jié)構(gòu)和功能PA八位輸出鎖存/緩沖器、八位輸入鎖存器PB八位輸出鎖存/緩沖器、八位輸入緩沖器PC八位輸出鎖存/緩沖器、八位輸入緩沖器可以被分成兩組4位的輸入輸出端口使用8255A的結(jié)構(gòu)和功能8255A的結(jié)構(gòu)和功能8255A的控制字8255A具有兩類控制字方式選擇控制字定義端口的工作方式C口復(fù)位/置位控制寄存器負(fù)責(zé)對C口逐位進(jìn)行復(fù)位/置位控制通過D7位區(qū)分8255A的控制字8255A的控制字8255A的工作方式三種工作方式方式0——基本輸入輸出方式1——選通輸入輸出方式2——雙向選通輸入輸出8255A復(fù)位狀態(tài)三端口為基本輸入方式8255A的工作方式方式0——基本輸入輸出A、B、CH、CL4個端口可以被分別設(shè)置或輸入、或輸出簡單的輸入輸出操作,可使用無條件數(shù)據(jù)讀寫方式實現(xiàn)與外設(shè)的交互可以將聯(lián)絡(luò)信號接入C口,實現(xiàn)查詢方式8255A的工作方式80888255A的工作方式方式1——選通輸入輸出分為兩組(A組、B組)實施具有聯(lián)絡(luò)(握手)信號的數(shù)據(jù)傳送借用C口的引腳作為聯(lián)絡(luò)信號方式一的輸入方式
8255A的工作方式方式一的輸出方式8255A的工作方式方式一的輸入/輸出方式8255A的工作方式8255A的工作方式8255A的工作方式——小結(jié)8255A的工作方式——狀態(tài)查詢方式工作通過讀C口的信息,了解狀態(tài)8255A的應(yīng)用并行接口簡單I/O接口——方式0需要聯(lián)絡(luò)信號——方式1需要雙向傳送——方式28255A的應(yīng)用——簡單輸入/輸出8255A的應(yīng)用——鍵盤掃描8255A的應(yīng)用——LED顯示8255A的應(yīng)用——LED顯示靜態(tài)顯示需要較多的并行接口,向L
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)后康復(fù)中的營養(yǎng)師職責(zé)
- 幼教產(chǎn)業(yè)股東合資合同書范文2025
- 基礎(chǔ)設(shè)施建設(shè)合同書
- 租賃設(shè)備合同正規(guī)范本
- 度生態(tài)修復(fù)濕地項目合同
- 施工總承包合同價格管理規(guī)定
- 大型工業(yè)園區(qū)用地合同005
- 廣告宣傳服務(wù)合同協(xié)議書范本
- 居民供用氣合同
- 度戰(zhàn)略合作合同書
- 2025年江蘇省職業(yè)院校技能大賽高職組(智慧物流)參考試題庫資料及答案
- 上海市松江區(qū)屆2024-2025學(xué)年高三上學(xué)期一模考試歷史試題(解析版)
- 船舶概論習(xí)題及答案
- 2024年北京電子科技職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 臨床醫(yī)學(xué)個人能力提升
- 2025年焦慮癥健康教育課件:創(chuàng)新與實踐相結(jié)合
- 北師大版八年級下學(xué)期期末數(shù)學(xué)練習(xí)題及答案
- 定額〔2025〕2號文-關(guān)于發(fā)布2020版電網(wǎng)技術(shù)改造及檢修工程概預(yù)算定額2024年下半年價格
- 《腦出血的外科治療》課件
- 《普通高中體育與健康》(水平五)體能模塊教學(xué)計劃
- 職業(yè)生涯規(guī)劃-體驗式學(xué)習(xí)知到智慧樹章節(jié)測試答案2024年秋華僑大學(xué)
評論
0/150
提交評論