




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、識點(diǎn)總結(jié)Newly compiled on November 23, 2020第一章計(jì)算機(jī)基礎(chǔ)知識一、微機(jī)系統(tǒng)的基本組成1. 微型計(jì)算機(jī)系統(tǒng)由硬件和軟件兩個(gè)部分組成。(1) 硬件: 馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu)的五個(gè)組成部分:運(yùn)算器,控制器,存儲器,輸入設(shè)備, 輸入設(shè)備。其特點(diǎn)是以運(yùn)算器為中心。 ;現(xiàn)代主流的微機(jī)是由馮諾依曼型改進(jìn)的,以存儲器為中心。 ;馮諾依曼計(jì)算機(jī)基本特點(diǎn):核心思想:存儲程序;基本部件:五大部件;信息存儲方式:二進(jìn)制;命令方式:操作碼(功能)+地址碼(地址),統(tǒng)稱機(jī)器指令;工作方式:按地址順序自動執(zhí)行指令。(2) 軟件:系統(tǒng)軟件:操作系統(tǒng)、數(shù)據(jù)庫、編譯軟件應(yīng)用軟件:文字處理、信息
2、管理(MIS)、控制軟件二、微型計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)大部分微機(jī)系統(tǒng)總線可分為3類:數(shù)據(jù)總線DB(Data Bus),地址總線AB (AddressBus),控制總線 CB (Control Bus)??偩€特點(diǎn):連接或擴(kuò)展非常靈活,有更大的靈活性和更好的可擴(kuò)展性。三、工作過程微機(jī)的工作過程就是程序的執(zhí)行過程,即不斷地從存儲器中取出指令,然后執(zhí)行指令的過 程。例:讓計(jì)算機(jī)實(shí)現(xiàn)以下任務(wù):計(jì)算計(jì)算7+10=程序:mov al, 7Add al,10hit指令的機(jī)器碼:(OP)0000011100000100 (OP)00001010(OP)基本概念:1. 微處理器、微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)2. 常用的名
3、詞術(shù)語和二進(jìn)制編碼(1) 位、字節(jié)、字及字長(2) 數(shù)字編碼(3) 字符編碼(4) 漢字編碼3指令、程序和指令系統(tǒng)習(xí)題:第二章8086 / 8088微處理器、8086 / 8088微處理器8086微處理器的內(nèi)部結(jié)構(gòu):從功能上講,由兩個(gè)獨(dú)立邏輯單元組成,即執(zhí)行單元EU和總線接口單元BIU。執(zhí)行單元EU包括:4個(gè)通用寄存器(AX, BX, CX. DX.每個(gè)都是16位,又可拆位,拆 成2個(gè)8位)、4個(gè)16位指針與變址寄存器(BP. SP, SI, DI)、16位標(biāo)志寄存器 FLAG (6個(gè)狀態(tài)標(biāo)志和3個(gè)控制標(biāo)志)、16位算術(shù)邏輯單元(ALU)、數(shù)據(jù)暫存寄存器; EU功能:從BIU取指令并執(zhí)行指令;
4、計(jì)算偏移量。總線接口單元BIU包括:4個(gè)16位段寄存器(CS (代碼段寄存器)、DS (數(shù)據(jù)段寄存器)、SS (堆棧段寄存器)和ES (附加段寄存器)、16位指令指針寄存器IP (程序計(jì)數(shù)器)、20位地址加法器和總線控制電路、6字節(jié)(8088位4字節(jié))的指令緩沖隊(duì)列;BIU功能:形成20位物理地址;從存儲器中取指令和數(shù)據(jù)并暫存到指令隊(duì)列寄存器中。3、執(zhí)行部件EU和總線接口部件BIU的總體功能:提高了 CPU的執(zhí)行速度;降低對存儲 器的存取速度的要求。4、地址加法器和段寄存器由IP提供或由EU按尋址方式計(jì)算出尋址單元的16位偏移地址(又稱為邏輯地址或簡稱 為偏移量),將它與左移4位后的段寄存器的
5、內(nèi)容同時(shí)送到地址加法器進(jìn)行相加,最后 形成一個(gè)20位的實(shí)際地址(又稱為物理地址),以對應(yīng)存儲單元尋址。要形成某指令碼的物理地址(即實(shí)際地址),就將IP的值與代碼段寄存器CS (Code Segment)左移4位后的內(nèi)容相加?!纠僭O(shè)CS = 4000H, IP二01OO 0000 OOOO OOOO OOOO 40000H+OOOO OO" 0000 OOOO 0300H0300H,oioo oooo 0011 0000 0000 40300H則指令的物理地址 PA 二4000HX10H + 0300H 二 40300H。邏輯地址二4000H: 0300Ho“段加偏移”的尋址機(jī)制:物
6、理地址二段基地址(又稱段起始地址二段地址X10H) +偏移地 址邏輯地址:其表達(dá)形式為“段地址:段內(nèi)偏移地址”。二、8086/8088CPU基本執(zhí)行環(huán)境指令指針(IP)寄存器包含下一條要執(zhí)行的指令在當(dāng)前碼段中的偏移。8086 / 8088的16位標(biāo)志寄存器F只用了其中的9位作標(biāo)志位,即6個(gè)狀態(tài)標(biāo)志位,3個(gè)控制標(biāo)志位。6個(gè)狀態(tài)標(biāo)志位:CF (Carry Flag)進(jìn)位標(biāo)志:進(jìn)位或借位時(shí),則CF為1 ;否則為0。PF (Parity Flag)奇偶性標(biāo)志:含有偶數(shù)個(gè)T”時(shí),則PF為1 ;否則為0。AF(Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志:ZF(Zero Flag)零標(biāo)志:運(yùn)算結(jié)
7、果為零,ZF為1 ;否則為0。SF (Sign Flag)符號標(biāo)志:OF (Overflow Flag)溢出標(biāo)志:3個(gè)控制標(biāo)志位(程序設(shè)置(1),清除(0):DF(Direction Flag)方向標(biāo)志IF(Interrupt Enable Flag)中斷允許標(biāo)志TF(Trap Flag)跟蹤(陷阱)標(biāo)志存儲器組織:1M字節(jié)存儲器以64K為范圍分為若干段。在尋址一個(gè)具體物理單元時(shí),必須要由一個(gè)基地址再加上由SP或IP或BP或SI或DI等可由CPU處理的16位偏移量來形成實(shí) 際的20位物理地址。三、總線周期1、時(shí)鐘周期:時(shí)鐘脈沖信號的一個(gè)循環(huán)時(shí)間叫一個(gè)時(shí)鐘周期,又稱為一個(gè)T"狀態(tài),是微
8、處理器工作的最小時(shí)間單位2、總線周期(機(jī)器時(shí)間):完成一次對存儲器或I/O端口的操作所需要的時(shí)間。3、指令周期:執(zhí)行一條指令所需要的時(shí)間。1個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成,4個(gè)時(shí)鐘周期又稱為4個(gè)狀態(tài),。四、8086/8088 引腳地址/數(shù)據(jù)總線AD15 AD0 :分時(shí)復(fù)用地址/狀態(tài)總線:A19/S6A16/S3 :控制總線:BHE/S7:表示高8位數(shù)據(jù)有效,T1輸出。RD:存儲器或I/O 口讀信號,輸出,低電平有效,T2T3有效。READY :準(zhǔn)備就緒信號,輸入,高電平有效。READY二1時(shí),表示CPU訪問的存儲器或I/O端口已準(zhǔn)備好傳送數(shù)據(jù),馬上可以進(jìn)行讀/寫操作。TEST:測試信號,
9、輸入,低電平有效。ITR :可屏蔽中斷請求信號,輸入,電平觸發(fā),高電平有效。CPU每執(zhí)行完一條指令, 即檢查INTR,為T”表示有中斷清求,為“0”,則沒有。是否響應(yīng)受標(biāo)志寄存器中IF的 控制NMI :不可屏蔽中斷請求信號,輸入,上升沿觸發(fā)。RESET :復(fù)位信號,輸入,高電平有效。CPU復(fù)位后,從FFFFOH單元開始讀取指令。電源線和地線:VCC, GND五、8086系統(tǒng)的最小/最大工作方式最小工作方式: ITA:中斷響應(yīng)信號,輸出,低電平有效。 ALE:地址鎖存允許信號,輸出,高電平有效。 DE:數(shù)據(jù)允許信號,三態(tài)輸出,低電平有效。 DT/R :數(shù)據(jù)發(fā)送/接收控制信號,三態(tài)輸出。 M/IO
10、 :存儲器或I/O端口選擇信號,三態(tài)輸出°M/IO二1,表示當(dāng)前CPU正在訪問存 儲器;M/IO二0,表示當(dāng)前CPU正在訪問I/O端口。 WR:寫信號,三態(tài)、輸出。當(dāng)WR二0低電平有效時(shí),表示當(dāng)前CPU正在對存儲器或 I/O端口進(jìn)行寫操作。® HOLD :總線保持請求信號,輸入,高電平有效。HLDA :總線請求響應(yīng)信號,輸出,高電平有效。最大工作方式:在最大方式系統(tǒng)中,外加有8288總線控制器,一般包含2個(gè)或多個(gè)處理器。8282:地址鎖存器,8286:數(shù)據(jù)收發(fā)器第三章8086指令系統(tǒng)一、計(jì)算機(jī)語言1.機(jī)器語言:面向機(jī)器,0和1表示機(jī)器是否可接受并執(zhí)行指令。2 .匯編語言:面
11、向人,符號表示,必須翻譯才能執(zhí)行。匯編語言指令的格式:般格式:操作碼操作數(shù)具體格式:標(biāo)號:操作碼(空格分隔符)目的操作數(shù)(存放結(jié)果),(逗號分隔符)源 操作數(shù);注釋條指令可以無操作數(shù),必須有操作碼,不同的機(jī)器,操作數(shù)個(gè)數(shù)不同。3.高級語言二、指令尋找操作數(shù)的尋址方式操作數(shù)通常保存在:(1)指令中(2) CPU內(nèi)部寄存器中(3)內(nèi)存單元中(4) I / 0端口中;8086/8088CPU與數(shù)據(jù)有關(guān)尋址方式:1.立即尋址2.寄存器尋址3.直接尋址4.寄存器間接尋址5.變址尋址6.基址尋址7基址加變址尋址9.相對基址變址尋址10. I/O端口尋址11.數(shù)據(jù)串尋址例:設(shè) DS = 1200H, BX
12、= 05A6H, SS = 5000H, BP = 40A0H, SI = 2000H, DI = 3000H,位移量DISP二1618H,試判斷下列指令的尋址方式,并求出在各種尋址方式下,這些寄存器與 位移量所產(chǎn)生的有效地址EA和實(shí)際地址(物理地址)PAO說明指令執(zhí)行的結(jié)果。 MOV AX, 0618H這是一條直接尋址方式的指令。EA = 0618HPA二 12000H+0618H二12618H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的實(shí)際地址為12618H和12619H兩單元中的內(nèi)容取出送AXO MOV AX, BX這是一條以數(shù)據(jù)段基址寄存器BX間接尋址的指令。EA二 05A6HPA二 12000H+0
13、5A6H 二125A6H 該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的125A6H和125A7H兩單元的字內(nèi)容取出送AX。 MOV AX, BP這是一條以堆棧段基址寄存器BP間接尋址的指令。由于尋址時(shí)用上了 BP寄存器,則操 作數(shù)所默認(rèn)的段寄存器就是SS。EA二 40A0HPA二50000H+40A0H二54OAOH該指令執(zhí)行的結(jié)果是將堆棧段的540A0H和54OA1H兩單元的 字內(nèi)容取出送AX。 MOV AX, DI這是一條變址尋址的指令。EA二 3000HPA二12000H+3000H二15000H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的15000H和15001H兩單元的字內(nèi)容取出送AX。 MOV AX, BX+DI
14、這是一條基址加變址尋址的指令。EA二 05A6H+3000H 二 35A6HPA二12000H+35A6H二155A6H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的155A6H和155A7H兩單元的字內(nèi)容取出送AX。 MOV AX, BP+SI+DISP這是一條帶位移量的基址加變址尋址的指令,又叫相對基址加變址尋址的指令,且操作數(shù)的默認(rèn)段為SS。EA二 40A0H+2000H+1618H 二 76B8HPA二 50000H+76B8H二 576B8H 該指令執(zhí)行的結(jié)果是將堆棧段的576B8H和576B9H兩單元的字內(nèi)容取出送AXO三、指令的尋址二CS:IP (不用表示,固定的)轉(zhuǎn)移尋址:用于控制轉(zhuǎn)移類指令。實(shí)
15、質(zhì):控制轉(zhuǎn)移類指令通過改變IP和CS值,從新位置開始執(zhí)行指令。轉(zhuǎn)移尋址分成2種類型:段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移。條件轉(zhuǎn)移指令只允許實(shí)現(xiàn)段內(nèi)轉(zhuǎn)移,而且是段內(nèi)短轉(zhuǎn)移,由指令中直接給出8位地址位 移量無條件轉(zhuǎn)移和調(diào)用指令又可分為段內(nèi)短轉(zhuǎn)移、段內(nèi)直接轉(zhuǎn)移、段內(nèi)間接轉(zhuǎn)移、段間直接轉(zhuǎn)移和段間間接轉(zhuǎn)移等5種不同的尋址方式。段間轉(zhuǎn)移二遠(yuǎn)轉(zhuǎn)移。四、指令分類8086/8088的指令按功能可分為6類:數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、串操作、程序控制和CPU控制。1. 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令可完成寄存器與寄存器之間、寄存器與存儲器之間、寄存器與I/O端口之間的字節(jié)或字傳送,共同特點(diǎn)是不影響標(biāo)志寄存器的內(nèi)容,分成4種類型。
16、(1通用數(shù)據(jù)傳送指令(1)MOV d, s;d-s,即將由源s指定的源操作數(shù)送到目標(biāo)d源操作數(shù)(s)可以是8/16位寄存器、存儲器的某個(gè)字節(jié)/字或者是8/16位立即數(shù);目標(biāo)操作數(shù)(d)不允許為立即數(shù);兩者不能同時(shí)為存儲器操作數(shù)?;緜魉椭噶頜OV d, s的類型有以下7種。1 MOV mem/regl, mem/reg2由mem/reg2所指定的存儲單元或寄存器中的8位數(shù)據(jù)或16位數(shù)據(jù)傳送到由mem/regl 所指定的存儲單元或寄存器中但不允許從存儲器傳送到存儲器。 MOV mem/reg, data將8位或16位立即數(shù)data傳送到由mem/reg所指定的存儲單元或寄存器中。 MOV reg
17、,data將8位或16位立即數(shù)data傳送到由reg所指定的寄存器中。4 MOV ac, mem將存儲單元中的8位或16位數(shù)據(jù)傳送到累加器ac中。 MOV mem, ac將累加器AL (8位)或AX (16位)中的數(shù)據(jù)傳送到由mem所指定的存儲單元中。使用MOV指令時(shí)要注意的問題:CS不能做目的操作數(shù)不能直接從存儲器到存儲器之間數(shù)據(jù)傳送2條偽指令:WORD PTR表示字?jǐn)?shù)據(jù)類型BYTE PTR表示字節(jié)數(shù)據(jù)類型(2)PUSH 和 POPPUSH s :將源操作數(shù)(16位)壓入堆棧POP d :將堆棧中當(dāng)前棧頂兩相鄰單元的數(shù)據(jù)字彈出到d壓棧指令PUSH AX :將AX (16位)中的數(shù)據(jù)壓入棧,A
18、X是源操作數(shù),棧頂是目的操作數(shù),由(SS:SP)指向。出棧指令POP AX:將棧頂信息彈出到AX中,AX是目的操作數(shù),棧頂是源操作數(shù),由(SS:SP)指向。設(shè)當(dāng)前cs = 1000H, IP = 0020H, SS = 1600H, SP = 004CH,則該指令執(zhí)行時(shí),將當(dāng)前棧頂 兩相鄰單元1604CH與1604DH中的數(shù)據(jù)字彈出并傳送到CX中,同時(shí)修改堆棧指針, SP+2-SP,使之指向新棧頂1604EH。堆棧是內(nèi)存中開辟的一個(gè)段,存放需要保護(hù)的信息(數(shù)據(jù)、地址)。堆棧操作時(shí)應(yīng)遵循 的o點(diǎn)原則:堆棧的存取操作每次必須是一個(gè)字(即2個(gè)字節(jié))。執(zhí)行壓棧指令時(shí),總是從高位地址向低位地址存放數(shù)據(jù),
19、而不象內(nèi)存中的其他段,總是 從低地址向高地址存放;執(zhí)行出棧指令時(shí),從堆棧中彈出數(shù)據(jù)則正好相反。堆棧段在內(nèi)存中的物理地址由SS和SP或SS和BP決定,其中,SS是堆棧段寄存器,它 是棧區(qū)的最低地址,稱為堆棧的段地址;SP是進(jìn)棧或出棧指令隱含的堆棧地址指針,它 的起始值是堆棧應(yīng)達(dá)到的最大偏移量,即指向棧頂?shù)刂贰6褩6蔚姆秶荢SX16至 SSX16+SP的起始值。每執(zhí)行一次壓棧指令,則SP-2,推入堆棧的數(shù)據(jù)放在棧頂;而每 執(zhí)行一次彈出指令時(shí),則SP+2。BP寄存器用于對堆棧中的數(shù)據(jù)塊進(jìn)行隨機(jī)存取,例 JO, MOV AX, BP SI指令執(zhí)行后,將把偏移量為BP+SI的存儲單元的內(nèi)容裝入AX。
20、堆棧指令中的操作數(shù)只能是寄存器或存儲器操作數(shù),而不能是立即數(shù)。對CS段寄存器可以使用壓棧指令PUSH CX.但卻不能使用POP CS這種無效指令。(3) XCHG d, s該指令功能是將源操作數(shù)與目標(biāo)操作數(shù)(字節(jié)或字)相互對應(yīng)交換位置。交換可以在通用 寄存器與累加器之間、通用寄存器之間、通用寄存器與存儲器之間進(jìn)行。但不能在兩個(gè) 存儲單元之間交換,段寄存器與IP也不能作為一個(gè)源或目的操作數(shù)。(4) XLAT這是一條用于實(shí)現(xiàn)字節(jié)翻譯功能的指令,又稱為代碼轉(zhuǎn)換指令。具體地說,它可以將AL 寄存器中設(shè)定的一個(gè)字節(jié)數(shù)值變換為內(nèi)存一段連續(xù)表格中的另一個(gè)相應(yīng)的代碼,以實(shí)現(xiàn) 編碼制的轉(zhuǎn)換。2)目標(biāo)地址傳送指令
21、專用于傳送地址碼的指令,可傳送存儲器的邏輯地址(即存儲器操作數(shù)的段地址或偏移 地址)至指定寄存器中,共包含3條指令:LEA、LDS和LES。(1)LEA d, s取有效地址指令。功能:把用于指定源操作數(shù)(它必須是存儲器操作數(shù))的16位偏移地 址(即有效地址)傳送到一個(gè)指定的16位通用寄存器中。(2)LDS d, s取某變量的32位地址指針指令。功能:從由指令的源s所指定的存儲單元開始,由4 個(gè)連續(xù)存儲單元中取出某變量的地址指針(共4個(gè)字節(jié)),將其前兩個(gè)字節(jié)(即變量的偏 移地址)傳送到由指令的目標(biāo)d所指定的某16位通用寄存器,后兩字節(jié)(即變量的段地址) 傳送到DS段寄存器中。(3)LES d,
22、s這條指令與LDS d, s指令的操作基本相同,其區(qū)別僅在于將把由源所指定的某變量的地址指針中后2個(gè)字節(jié)(段地址)傳送到ES段寄存器,而不是DS段寄存器。3)標(biāo)志位傳送指令用于傳送標(biāo)志位,共有4條。(1)LAHF指令功能:將標(biāo)志寄存器F的低字節(jié)(共包含5個(gè)狀態(tài)標(biāo)志位)傳送到AH寄存 器中.雙操作數(shù),固定尋址,所以被隱藏。(2)SAHF指令功能:將AH寄存器內(nèi)容傳送到標(biāo)志寄存器F的低字節(jié)。(3) PUSHF指令功能:將16位標(biāo)志寄存器F內(nèi)容入棧保護(hù)。其操作過程與前述的PUSH指 令類似。(4) P0PF指令功能:將當(dāng)前棧頂和次棧頂中的數(shù)據(jù)字彈出送回到標(biāo)志寄存器F中。4) I/O數(shù)據(jù)傳送指令(1)
23、 ix累加器,端口號端口號可以用8位立即數(shù)直接給出;也可以將端口號事先安排在DX寄存器中間接尋 址16位長端口號(可尋址的端口號為0 65535)。IN指令是將指定端口中的內(nèi)容輸入到 累加器AL/AX中。(2) OUT端口號,累加器與IN指令相同,端口號可以由8位立即數(shù)給出,也可由DX寄存器間接給出。OUT指令是 將累加器AL/AX中的內(nèi)容輸出到指定的端口。OUT PORT, AL ;端口 PORTAL,即將AL中的字節(jié)內(nèi)容輸出到由PORT直接指定的端 口。PORT :符號地址,表示端口直接地址。OUT DX, AX ;端口 (DX)AX,即將AX中的字內(nèi)容輸出到由DX所指定的端口。I/O指令
24、只能用累加器作為執(zhí)行I/O數(shù)據(jù)傳送的機(jī)構(gòu),直接尋址范圍為0 255,尋址大 于255的端口地址時(shí),必須用間接尋址的I/O指令。例如,在IBM PC/XT微機(jī)系統(tǒng)中,既 用了 0 255范圍的端口地址,也用了 255 - 65535范圍的端口地址。2. 算術(shù)運(yùn)算指令1) 加法指令(1) ADD d, s ; dd+s指令功能:將源操作數(shù)與目標(biāo)操作數(shù)相加,結(jié)果保留在目標(biāo)中。并根據(jù)結(jié)果置標(biāo)志位。源操作數(shù)可以是8/16位通用寄存器、存儲器操作數(shù)或立即數(shù);目標(biāo)操作數(shù)不允許是立 即數(shù),其他同源操作數(shù)。且不允許兩者同時(shí)為存儲器操作數(shù)。(2) ADC d, s ; d-d+s+CF帶進(jìn)位加法(ADC)指令的操
25、作過程與ADD指令基本相同,惟一的不同是進(jìn)位標(biāo)志位CF 的原狀態(tài)也將一起參與加法運(yùn)算,待運(yùn)算結(jié)束,CF將重新根據(jù)結(jié)果置成新的狀態(tài)。ADC指令一般用于16位以上的多字節(jié)數(shù)字相加的軟件中。(3) INC d ; dd+1指令功能:將目標(biāo)操作數(shù)當(dāng)作無符號數(shù),完成加1操作后,結(jié)果仍保留在目標(biāo)中。目標(biāo)操作數(shù)可以是8/16位通用寄存器或存儲器操作數(shù),但不允許是立即數(shù)。2) 減法指令(1) SUB d, s ; dd-s指令功能:將目標(biāo)操作數(shù)減去源操作數(shù),其結(jié)果送回目標(biāo),并根據(jù)運(yùn)算結(jié)果置標(biāo)志位。(2) SBB d, s ; dd-s-CF本指令與SUB指令的功能、執(zhí)行過程基本相同,唯一不同的是完成減法運(yùn)算時(shí)
26、還要再減 去進(jìn)位標(biāo)志CF的原狀態(tài)。運(yùn)算結(jié)束時(shí),CF將被置成新狀態(tài)。(3) DEC d ; dd-l減1指令功能:將目標(biāo)操作數(shù)的內(nèi)容減1后送回目標(biāo)。目標(biāo)操作數(shù)可以是8/16位通用寄存器和存儲器操作數(shù),但不允許是立即數(shù)。(4) NEG d ; dd+1EG是求補(bǔ)碼的指令,簡稱求補(bǔ)指令。指令功能:將目標(biāo)操作數(shù)取負(fù)后送回目標(biāo)。(5) CMP d, s ; d-s,只置標(biāo)志位指令功能:將目標(biāo)操作數(shù)與源操作數(shù)相減但不送回結(jié)果只根據(jù)運(yùn)算結(jié)果置標(biāo)志位。 不允許兩個(gè)操作數(shù)同時(shí)為存儲器操作數(shù),也不允許做段寄存器比較。3) 乘法指令乘法指令用來實(shí)現(xiàn)兩個(gè)二進(jìn)制操作數(shù)的相乘運(yùn)算,包括兩條指令:無符號數(shù)乘法指令MUL和有
27、符號數(shù)乘法指令I(lǐng)MULO(1) MUL sMUL s是無符號乘法指令,被乘數(shù)(目的操作數(shù))隱含在累加器AL/AX中;由s指定的源 操作數(shù)作乘數(shù),相乘所得雙倍位長的積,分別存放到DX與AX中。(2) IMUL s有符號乘法指令4) 除法指令除數(shù)、商:8位,被除數(shù)可以是16位,目的操作數(shù)被隱含。(1) DIV sDIV s被除數(shù)隱含在累加器AX(字節(jié)除)或DX、AX(字除)中。指令中由s給出的源操作數(shù)作除 數(shù)。字節(jié)除法,商存于AL,余數(shù)存于AH。字除法,商存于AX,余數(shù)存于DX。(2) IDIV s該指令完成將兩個(gè)帶符號的二進(jìn)制數(shù)相除的功能。(3) CBW 和 CWD5) 十進(jìn)制調(diào)整指令(1) D
28、AADAA是加法的十進(jìn)制調(diào)整指令,它必須跟在ADD或ADC指令之后使用。功能:將存于AL (目的操作數(shù))寄存器中的2位BCD碼加法運(yùn)算的結(jié)果調(diào)整為2位壓縮 型十進(jìn)制數(shù),仍保留在AL中。AL寄存器中的運(yùn)算結(jié)果在出現(xiàn)非法碼(1010B -1111B)或本位向高位(指BCD碼)有進(jìn)位(由AF二1或CF二1表示低位向高位或高位向更高位有進(jìn)位)時(shí),由DAA自動進(jìn)行加6調(diào) 整。AF標(biāo)志寄存器可知進(jìn)位。(2) DAS減法的十進(jìn)制調(diào)整指令,減6調(diào)整(3) AAA加法的ASCII碼調(diào)整指令A(yù)AS減法的ASCII碼調(diào)整指令(5) AAM乘法的ASCII碼調(diào)整指令(6) AAD除法的ASCII碼調(diào)整指令。3. 邏輯
29、運(yùn)算和移位循環(huán)類指令:分為3種類型:邏輯運(yùn)算;移位;循環(huán)1) 邏輯運(yùn)算指令0olo(1) AND d, s ; dd/s,按位“與”操作,有一個(gè)是0,結(jié)果是(2) OR d, s ; ddVs,按位“或”操作,有一個(gè)是1,結(jié)果是XOR d, s ; dds,按位“異或”操作,不同,相同0。(4) NOT d ; d d ,按位取反操作。TEST d, s;dAs,按位“與”操作,不送回結(jié)果,測試指令,影響標(biāo)志位。2) 移位指令與循環(huán)移位指令移位指令分為算術(shù)移位和邏輯移位。循環(huán)移位分為不帶進(jìn)位位(小循環(huán))與帶進(jìn)位位循環(huán)移位(大循環(huán))4. 串操作類指令(1) 指令使用規(guī)則:串操作類指令是惟一地在存
30、儲器內(nèi)的源與目標(biāo)之間進(jìn)行操作的指令,即源操作數(shù)與目標(biāo)操作數(shù)都可以是存儲器操作數(shù)。(2) 源操作數(shù)地址:DS (段寄存器)、IS (源變址寄存器)(3) 目標(biāo)操作數(shù)地址:ES (段寄存器)、DI (目標(biāo)變址寄存器)(4) 串長度存放在CS寄存器中(5) 采用隱含尋址方式。(6) 地址變化方向一一方向標(biāo)志位DF, DF二0,用指令CLD實(shí)現(xiàn),地址指針増1或2 ;DF二1,用指令STD實(shí)現(xiàn),地址指針減1或2。(7) 串指令功能:執(zhí)行指令規(guī)定操作,然后SI和DI自動修改+-1 (字符串)或+-2(字)o(8) 重復(fù)指令功能:添加重復(fù)前綴REP等,指令實(shí)現(xiàn)自動循環(huán),自動修改循環(huán)計(jì)數(shù)計(jì)功能,并判斷0(9)
31、 循環(huán)計(jì)數(shù)計(jì)一一使用CX5種基本的串操作指令:1) MOVS目標(biāo)串,源串2) CMPS目標(biāo)串,源串3) SCAS目標(biāo)串4) LODS源串5) STOS 標(biāo)串5. 程序(轉(zhuǎn)移)控制指令1) 無條件轉(zhuǎn)移指令(1) JMP目標(biāo)標(biāo)號根據(jù)目標(biāo)地址的位置與尋址方式的不同,JMP指令有4種基本格式。 段內(nèi)直接轉(zhuǎn)移操作數(shù):目標(biāo)地址的偏移量,偏移量是8位(短轉(zhuǎn)移)或16位(近轉(zhuǎn)移)的帶符號數(shù)。目標(biāo)標(biāo)號偏移地址二(IP) +指令中位移量有條件轉(zhuǎn)移只能用短轉(zhuǎn)移。段內(nèi)短轉(zhuǎn)移:位移量1個(gè)字節(jié)段內(nèi)近轉(zhuǎn)移:位移量2個(gè)字節(jié) 段內(nèi)間接轉(zhuǎn)移操作數(shù):目標(biāo)地址的偏移地址,寄存器間接尋址目標(biāo)標(biāo)號偏移地址二操作數(shù)- (IP)目標(biāo)段二源段
32、二CSSHORT段內(nèi)短轉(zhuǎn)移"AR段內(nèi)近轉(zhuǎn)移 段間直接轉(zhuǎn)移新的段地址:CS,新的偏移地址:IP,操作數(shù):目標(biāo)地址的邏輯地址。目標(biāo)地址的段地址和偏移地址存放于存儲器的4個(gè)連續(xù)地址中低字位:IP,高字位:CS,操作數(shù)是雙字的存儲器地址用DWORD PTR表示。(2) CALL過程名無條件調(diào)用過程指令?!斑^程”即“子程序”。子程序名即子程序入口地址,子程序段 第一條指令的地址,用符號表示。CALL指令將迫使CPU暫停執(zhí)行調(diào)用程序(或稱為主程序)后續(xù)的下一條指令(即斷點(diǎn),用堆棧保存),轉(zhuǎn)去執(zhí)行指定的過程;待過程執(zhí)行完畢,再用返回指令RET將程序返回到 斷點(diǎn)處繼續(xù)執(zhí)行。RET :識別程序終點(diǎn)。C
33、ALL指令4種不同的尋址方式和4種基本格式: CALL N_PROC丄PROC是一個(gè)近過程名,采用段內(nèi)直接尋址方式。 CALL BX段內(nèi)間接尋址的調(diào)用過程指令 CALL F_PROCF_PROC是一個(gè)遠(yuǎn)過程名,它可以采用段間直接和段間間接兩種尋址方式來實(shí)現(xiàn)調(diào)用過 程。®RET彈出值:從過程返回(RET)指令應(yīng)安排在過程的出口,即過程的最后一條指令處。2)條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令共有18條,標(biāo)志寄存器的標(biāo)志位(9個(gè),用6個(gè)狀態(tài))作為轉(zhuǎn)移的條件。所有的條件轉(zhuǎn)移指令都是短轉(zhuǎn)移,目標(biāo)地址(8位)的字節(jié)距離在-128 +127范圍以內(nèi)。® W 4J.VJNWiCF-0 AZF-0天*
34、J.M.JSBUF-OOR ZF-J9低于'不喜于倫蘋夠干JBNAECF-1 .ViD2F-0RJBEJNACF=1(X<ZF=1n天于,兀4于1*4干JC"5.E(SFX(» OFAND2F-0X于說于,休小干JGMNLtl初9SFXOR OF-C OR ZF-1w號小千不大于干JI.qNGESFX<JR OF-1 AND ZK-fl兒E/J丸;號(SI(«ZF】JE'JZZF-1JM- JXZZFTw£JCAM號CH-1J*CF-0JOgl入曲岀J3OF-OA金氏"為1載花JP-IPEPP-I4斤為D0軟$PF-
35、0JSSF-力 0J XStIHk*;40個(gè)標(biāo)志位的狀態(tài)或幾個(gè)標(biāo)志的 狀態(tài)組合作為測試的條件。另外的一種替換形式,功能等 效。3)循環(huán)控制指令:CX中存放著循環(huán)次數(shù),短轉(zhuǎn)移(1) LOOP目標(biāo)標(biāo)號(2) LOOPE/LOOPZ 目標(biāo)標(biāo)號(3) LOOPNE/LOOPNZ 目標(biāo)標(biāo)號(4) JCXZ目標(biāo)標(biāo)號6. 中斷指令,中斷指令只有3條。(DINT中斷類型,8086/8088系統(tǒng)中允許有256種中斷類型(0 255)(2) INTO(3) IRET7. 處理器控制類指令,處理器控制指(1) ESC外部操作碼,源操作數(shù)(2) WAIT(3) LOCK3) 其他控制指令(1) HLT暫停指令,當(dāng)CP
36、U發(fā)生復(fù)位或來自外部的中斷時(shí),CPU脫離暫停狀態(tài)。(2) NOP空操作指令,占用3個(gè)時(shí)鐘周期的時(shí)間(IP+1),常用來作延時(shí)。五、8086編程基礎(chǔ) 匯編語言是用指令的肋記符、符號地址、標(biāo)號等書寫程序的語言,簡稱符號語言。1. 匯編語言格式(1) 指令分類匯編語言有3種基本語句:指令語句、偽指令語句、宏指令語句。指令語句是一種執(zhí)行性語句,它在匯編時(shí),匯編程序?qū)橹a(chǎn)生一一對應(yīng)的機(jī)器目標(biāo)代 碼。偽指令語句是一種說明性語句,它在匯編時(shí)只為匯編程序提供進(jìn)行匯編所需要的有關(guān)信 息,如定義符號,分配存儲單元,初始化存儲器等,而本身并不代表生成目標(biāo)代碼。不 執(zhí)行,翻譯時(shí)用。宏指令語句是以某個(gè)宏名字定義的一段
37、指令序列。宏指令可以有多段,子程序有一段。(2) 語句格式1) 指令語句格式標(biāo)號:前綴指令肋記符操作數(shù)表;注釋2) 偽指令語句的格式名字偽指令參數(shù)表;注釋(3) 匯編語言的語法段定義偽指令指示匯編程序應(yīng)如何按段來組織程序和使用存儲器。匯編程序3種設(shè)計(jì)結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。2. 匯編語言編程運(yùn)行環(huán)境第五章存儲器一、存儲器的結(jié)構(gòu)1. 基本概念 位(bit):信息量單位,每一個(gè)0或1就叫做1位信息。 字節(jié)(byte):存儲量單位,8位二進(jìn)制代碼作為一個(gè)字節(jié)。 '字(word) : 2個(gè)字節(jié)組成一個(gè)字,標(biāo)識16位數(shù)據(jù)的長度。 字長:計(jì)算機(jī)一次處理數(shù)據(jù)的位數(shù)(存儲器,寄存器)。字長
38、是隨計(jì)算機(jī)發(fā)展變化 的(8086型字長二16位)。(SJ地址:每個(gè)單元的編號,各存儲單元的地址與該地址中存放的內(nèi)容完全不同。物理地址(20位,220二1024K二1M)二段地址*10H+偏移地址邏輯地址(16位,216二64K)二段地址(16位):偏移地址(16位) '存儲單元:每個(gè)單元存儲8位二進(jìn)制信息,即字長為8位。 ;字地址:低地址單元的地址作為低地址,偶數(shù)。 段:分段方法:段起始地址(段基址),段長簡化問題。存儲器管理方式1)存儲器信息分類管理:程序信息,數(shù)據(jù)信息,保護(hù)(堆棧)信息。2)存儲器空間分段使用:將內(nèi)存空間分成若干個(gè)邏輯段使用,每個(gè)邏輯段存放一種信 息,每個(gè)段稱邏輯段
39、,當(dāng)前正在使用的邏輯段稱作當(dāng)前段。邏輯信息按照存放信息的類別分為:代碼(程序)段,堆棧段,數(shù)據(jù)段,附加段。邏輯段:邏輯段長度二后起始地址-前起始地址,一類信息可以使用1個(gè)至多個(gè)邏輯段。 地址指針:程序指針:CS:IP,堆棧指針:SS:SP,數(shù)據(jù)指針:DS或ES:EA (有效地址) 段地址來源于4個(gè)段寄存器,偏移地址來源于IP、SP、EA (由BP、SI、DI計(jì)算)。 段地址默認(rèn)時(shí),偏移地址稱作邏輯地址。存儲器堆棧技術(shù)1堆棧的定義:在存儲器設(shè)置專用區(qū)(堆棧段),臨時(shí)存放需要保護(hù)的信息。2堆棧原則:按字堆棧,后進(jìn)先出;從底(高地址)向頂(低地址)堆放堆棧指針SS:SP (棧頂)。3)堆棧設(shè)置:
40、174;SS賦值:定段位置;SP賦值:定段長度。 SP-2 (內(nèi)部自動,SP值不變)。 物理地址二段地址(SS) *10H+偏移地址(SP)4)堆棧使用自動或用指令使用堆棧。SP-2,進(jìn)棧;SP+2,出棧;自動實(shí)現(xiàn),程序里不寫。二、計(jì)算機(jī)存儲系統(tǒng)概述1計(jì)算機(jī)的存儲系統(tǒng)1)主存和輔存2)存儲系統(tǒng)2. 內(nèi)存(半導(dǎo)體存儲器)的概述1)主存功能:存放當(dāng)前運(yùn)行的程序和數(shù)據(jù),供CPU直接訪問;存放多機(jī)共享的數(shù)據(jù), 兼顧實(shí)現(xiàn)多機(jī)通信。2)主存連接:主存一系統(tǒng)總線一CPU系統(tǒng)總線:AB :地址來自CPU的AR寄存器;CB :包括IO/M、WE/RD、Ready等引腳;DB :數(shù)據(jù)通過CPU的DR寄存器中轉(zhuǎn)。3
41、)主存分類RAM :易失性存儲器,如U盤;ROM :非易失性存儲器;MOS RAM 分靜態(tài)(Static)和動態(tài)(Dynamic) RAM 兩種。雙極性RAM的特點(diǎn):存取速度快。靜態(tài)MOS RAM的特點(diǎn):價(jià)格便宜,功耗低。內(nèi)存:MOS 4)內(nèi)存(半導(dǎo)體存儲器)組成和結(jié)構(gòu)地址譯碼方式:單譯碼方式、雙譯碼方式二、計(jì)算機(jī)的內(nèi)存1. 靜態(tài)RAM簡稱SRAM.基本存儲電路:RS觸發(fā)器。Intel 6116:雙列直插式,24引腳,存儲容量2K*8位2. 動態(tài)RAM簡稱DRAMIntel 2116:16K*1位,由于受封裝引線的限制,只有7條地址輸入線,1條數(shù)據(jù)線;采用地址線分時(shí)復(fù)用的技術(shù);控制信號:CAS
42、列,RAS行;工作方式:寫操作:電容充電;讀操作:破壞性讀出,重寫刷新;定時(shí)刷新:保持電容 電平。特點(diǎn):定時(shí)刷新、分時(shí)復(fù)用。3. EPROM 芯片Intel 2716容量為2Kx8位,采用NMOS工藝和雙列直插式封裝三、存儲器的擴(kuò)充和與CPU連接1、存儲器的擴(kuò)充(1)位數(shù)的擴(kuò)充:用固定容量、位數(shù)一定的芯片擴(kuò)充成固定容量、位數(shù)較多的存儲器。如:需要2KX8位的存儲器:2KX1需8片;需要2KX8位的存儲器:2KX4需2片; 需要2KX16位的存儲器:2KX1需16片; 需要2KX16位的存儲器:2KX4需4片。(2) 字?jǐn)U展(地址擴(kuò)展):用一定容量、位數(shù)固定的存儲芯片擴(kuò)充成較大容量位數(shù)固定的 存
43、儲器。如:需要64KX8位的存儲器:16KX8需4片;需要64KX8位的存儲器:2KX8需32片。(3) 字、位擴(kuò)展:用固定容量、固定位數(shù)的芯片擴(kuò)展成較大容量、較大位數(shù)的存儲器。如:用16KX4的存儲芯片擴(kuò)展成64KX8的存儲器:位擴(kuò)展:需2片;字?jǐn)U展:需4片;共需芯片:2X4=8片。2、存儲器芯片片選信號CS的處理芯片介紹:Intel 74LS138和6116 3-8譯碼器74LS138 存儲芯片Intel6116 (2KX8)(2)片選信號的處理方法 全譯碼法:片內(nèi)尋址未用的全部高位地址線都參加譯碼,譯碼輸出作為片選信號。 部分譯碼:用片內(nèi)尋址外的高位地址的一部分譯碼產(chǎn)生片選信號。 :線選
44、法:高位地址線不經(jīng)過譯碼,直接(或經(jīng)反相器)分別接各存儲器芯片的片選端 來區(qū)別各芯片的地址。例:用Intel 6116芯片組成8KB RAM,設(shè)CPU為8086 (設(shè)地址線為20根),譯碼器采 用74LS138,問題:1、需要幾片61162、地址線和數(shù)據(jù)線各為多少根3、每一片的地址范圍是多少如何確定是否有重疊區(qū)4、如何連線(包括地址線、數(shù)據(jù)線和狀態(tài)線)全譯碼4片。要求地址范圍是分析:6116為2KX8芯片,需組成8KX8的存儲器,只需進(jìn)行字?jǐn)U展,需00000H-01FFFH, 4片的地址范圍分別為:第一片:OOOOOH 007FFH ;第二片:00800H OOFFFH ;第三片:01000H
45、 -017FFH ;第四片:01800H -01FFFH分析結(jié)果: AO'AIO作為芯片片內(nèi)尋址; A1廣A13作為74LS的A、B、C端; A14A19 組合產(chǎn)生 Gl、G2A、G2B部分譯碼第六章計(jì)算機(jī)接口技術(shù)一、計(jì)算機(jī)的接口1. 接口的基本結(jié)構(gòu)2. 接口的電路信號接口對外設(shè)連接的信號要求1)數(shù)據(jù)信號A.2A.,5 A.&O7EI-! I0800 OFFF1I 1OOO 17FF1I 1«VO H i ill 2000 27FFI12KOO 2FFF11 AOO<) 37FFII 5«o<> ?FFFIIVo、iv5CBYrt八M/K&
46、gt; £»-線性譯碼(1) 數(shù)字量:通常為8位二進(jìn)制數(shù)或ASCII代碼。(2) 模擬量:計(jì)算機(jī)檢測、數(shù)據(jù)采集或控制的大量的現(xiàn)場信息等(3) 開關(guān)量:一些“0”或“1”兩個(gè)狀態(tài)的量2) 狀態(tài)信號狀態(tài)信息是反映外設(shè)當(dāng)前所處工作狀態(tài)的信息,以作為CPU與外設(shè)間可靠交換數(shù)據(jù)的條件。3) 控制信號:用于控制外設(shè)的啟動或停止。二、數(shù)據(jù)傳輸方式1. 無條件的程序傳送方式定義:用程序一一定時(shí)一一用IN或OUT指令進(jìn)行信息的輸入或輸出。條件:外設(shè)隨時(shí)都處于數(shù)據(jù)(設(shè)備)準(zhǔn)備好狀態(tài),無須檢測器狀態(tài)。2. 程序查詢傳送方式1) 查詢輸入(1) 接口電路(2) 程序流程(3) 程序編碼POLL:
47、IN AL, STATUS.PORT ;讀狀態(tài)端口 的信息TEST AL, 80 H;設(shè)“準(zhǔn)備就緒”(READY)信息在D7位JE POLL;未“準(zhǔn)備就緒”,則循環(huán)再查IN AL, DATA_PORT ;已“準(zhǔn)備就緒”(READY二1),則讀入數(shù)據(jù)說明:POLL :標(biāo)號;IX :操作碼;AL :累加器;STATUS_PORT :符號地址;TEST :檢測;JEPOLL :條件轉(zhuǎn)移,結(jié)果是0則返回;2) 查詢輸出(1) 接口電路(2) 程序流程(3) 查詢部分的程序?yàn)椋篜OLL:IN AL, STATUS.PORT ;從狀態(tài)端口輸入狀態(tài)信息TEST AL, 80H ;檢查 BUSY 位JNE P
48、OLL ; BUSY則循環(huán)等待MOV AL, STORE ;否則,從緩沖區(qū)取數(shù)據(jù)OUT DATA.PORT, AL ;從數(shù)據(jù)端口輸出其中,STATUS_PORT是狀態(tài)端口的符號地址;DATA.PORT是數(shù)據(jù)端口的符 號地址;STORE是存放數(shù)據(jù)單元的地址偏移量。3. 中斷傳送方式所謂中斷是外設(shè)或其他中斷源中止CPU當(dāng)前正在執(zhí)行的程序,而轉(zhuǎn)向?yàn)樵撏庠O(shè)服務(wù)(如完成它與CPU之間傳送一個(gè)數(shù)據(jù))的程序,一旦服務(wù)結(jié)束,又返回原程序繼續(xù)工作。中斷傳送方式的好處是:大大提高了 CPU的工作效率。4、DMA傳送方式DMA (Direct Memory Access)方式第七章 可編程接口芯片技術(shù) 一、可編程并
49、行接口芯片8255A 8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O 口,共24位,其各端口工作方式由軟件編程設(shè)定。 8255A是應(yīng)用最廣泛的可編程并行接口芯片,使用方便,通用性強(qiáng)。的內(nèi)部結(jié)構(gòu)及引腳功能8255A是40個(gè)引腳雙列直播插式芯片,有三個(gè)可存取數(shù)據(jù)的端口,分別是A 口、B 口、CD,可以通過編程來設(shè)置其工作方式;有一個(gè)控制端口,可以通控制端口設(shè)置8255A 數(shù)據(jù)端口的工作方式。的工作方式 A 口可工作于方式0、方式1、方式2 B 口可工作于方式0、方式1 C 口只能工作于方式01)方式0基本輸入輸出在方式0下,每一個(gè)端口都作為基本的輸入或輸出口,端口C
50、口的高4位和低4位以及端口 A 口、端口 B都可獨(dú)立地設(shè)置為輸入口或輸出口。2)方式1單向選通輸入輸出三個(gè)數(shù)據(jù)端口分為A、B兩組,分別稱為A組控制和B組控制。端口 A和端口 B仍 作為數(shù)據(jù)的輸入或輸出口,端口C作為聯(lián)絡(luò)控制信號,被分成兩部分,一部分作為端口 A和端口B的聯(lián)絡(luò)信號,另一部分仍可作為基本的輸入輸出口。3)方式2雙向選通輸入輸出端口 A的方式2可使8255A與外設(shè)進(jìn)行雙向通信,既能發(fā)送數(shù)據(jù),又能接收數(shù)據(jù)??刹捎貌樵兎绞胶椭袛喾绞竭M(jìn)行傳輸。的編程1) . 8255A的控制字 (1)方式選擇控制字端口 C置位/復(fù)位控制字【例】設(shè)8255A的A 口和B 口工作在方式0, A 口作為輸入端口
51、,接有8個(gè)開關(guān);B 口 為輸出端口,接有8個(gè)發(fā)光二極管。系統(tǒng)硬件電路如圖所示,不斷掃描開關(guān)Ki,當(dāng)開關(guān) K0閉合時(shí),點(diǎn)亮LEDO、LED2、LED4、LED6,其它LED暗;當(dāng)開關(guān)K1閉合時(shí),點(diǎn)亮 LED1、LED3、LED5、LED7,其它LED暗;當(dāng)開關(guān)K0和K1同時(shí)閉合時(shí)退出。設(shè)8255A端 口 A、端口 B、端口 C及控制端口的地址分別為200H203H。試編寫程序。解:首先確定工作方式控制字。根據(jù)題意,A 口為輸入端口,B 口輸出端口,均工作在 方式0下,端口 C沒使用,設(shè)沒有用到的控制字中對應(yīng)位設(shè)置為0,所以8255A的控制CODE SEGMENTASSUME CS:CODESTA
52、RT:MOV AL, 90H;8255初始化MOVDX, 203HAGAIN:MOVDX, 200HIN AL, DXTEST AL, 03HJZ EXITTEST AL,01H;檢測KO KI;檢測KOJZ DISP.OTEST AL, 02H;檢測KIJZ DISP_1JMP AGAIN;偶位上LED亮,奇位上LED暗DIAP.O:MOV AL, 55HMOV DX, 201HOUT DX, ALJMP AGAINDIAP_1:MOV AL, OAAH ;奇位上 LED 亮,偶位上 LED 暗MOV DX, 201HOUT DX, ALJMP AGAINEXIT: MOV AH, 4CHI
53、NT 21HCODE ENDSEND START小結(jié):支持哪幾種傳送方式答:支持無條件的程序傳送方式、程序查詢傳送方式、中斷傳送方式3種傳送方式。2. 支持多少條單元、地址、地址線答:4條單元,2條地址,2條地址線。個(gè)單元地址值如何確定答:通過2條地址AO、A1確定。4. 假設(shè)A、B、C都工作在方式0, 8255接一個(gè)外設(shè),能否實(shí)現(xiàn)查詢傳遞,原因是什么,怎么實(shí)現(xiàn)答:方式0:基本的輸入輸出工作方式方式0有以下特點(diǎn): 任何一個(gè)端口都可用作輸入或輸出。 由A 口、B 口、C 口高4位與C 口低4位4組組合成不同的輸入/'輸出組態(tài)。方式0只能用無條件傳送或按查詢方式傳送。所以,能實(shí)現(xiàn),將A 口
54、與B 口作為數(shù)據(jù)端口,將C 口的4位規(guī)定為控制信號輸出口,另外4位規(guī)定為狀態(tài)輸入口,用C 口配合A 口與B 口工作。二、可編程定時(shí)器/計(jì)數(shù)器8253:8253是Intel公司生產(chǎn)的通用可編程定時(shí)/計(jì)數(shù)器,定時(shí)時(shí)間與計(jì)數(shù)次數(shù)由用戶 事先設(shè)定。8253的讀/寫操作對系統(tǒng)時(shí)鐘沒有特殊的要求,可應(yīng)用于由任何一種微處理器組 成的系統(tǒng)中,可作為可編程的方波頻率發(fā)生器、分頻器、實(shí)時(shí)時(shí)鐘、事件計(jì)數(shù)器 和單脈沖發(fā)生器等。的內(nèi)部結(jié)構(gòu)及引腳功能2) 8253的引腳功能8253采用雙列直插式封裝,有24個(gè)引腳。3) 8253的工作方式 8253的每個(gè)計(jì)數(shù)器都有6種工作方式:方式0方式5。這6種工作方式的不同點(diǎn)是:輸出波形不同啟動計(jì)數(shù)器的觸發(fā)方式不同計(jì)數(shù)過程中GATE信號對計(jì)數(shù)過程的影響不同4) 8253的初始化(1) 8253方式控制字(2) 8253初始化
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店大堂場地租賃合同7篇
- 建房包工不包料合同書
- 大理石材購銷合同
- 2025年呼和浩特貨運(yùn)從業(yè)資格考試模擬考試題庫及答案解析
- 2025年陽泉貨運(yùn)從業(yè)資格證考試題庫a2
- 廠房電費(fèi)收租合同范本
- 制作物業(yè)合同范本
- 分期施工合同范本
- 林木定金合同范本
- 代購果樹合同范本
- 泡泡瑪特展廳活動策劃
- 健康生活方式與健康促進(jìn)的科學(xué)研究
- 文旅部門消防培訓(xùn)課件
- 中職語文課件:1.1《送瘟神》課件14張2023-2024學(xué)年中職語文職業(yè)模塊
- 胃瘍(消化性潰瘍)中醫(yī)護(hù)理方案
- 《哲學(xué)概論(第2版)》-課件全套 第0-6章 緒論、哲學(xué)的形態(tài)-馬克思主義哲學(xué)
- 環(huán)境溫度、相對濕度、露點(diǎn)對照表
- 踝關(guān)節(jié)骨性關(guān)節(jié)炎課件整理
- 高處作業(yè)安全經(jīng)驗(yàn)分享
- 工余安健環(huán)管理制度
- 關(guān)于“全民閱讀”的中考語文非連續(xù)性文本閱讀試題及答案閱讀(2018廣東廣州中考語文非連續(xù)性文本閱讀試題及答案)
評論
0/150
提交評論