版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 緒論計(jì)算機(jī)分那幾類?各有什么特點(diǎn)?答:傳統(tǒng)上分為三類:大型主機(jī)、小型機(jī)、微型機(jī)。大型主機(jī)一般為高性能的并行處理系統(tǒng), 存儲(chǔ)容量大,事物處理能力強(qiáng),可為眾多用戶提供服務(wù)。小型機(jī)具有一定的數(shù)據(jù)處理能力,提供一定用戶規(guī)模的信息服務(wù),作為部門的信息服務(wù)中心。微型機(jī)一般指在辦公室或家庭的桌面或可移動(dòng)的計(jì)算系統(tǒng),體積小、價(jià)格低、具有工業(yè)化標(biāo)準(zhǔn)體系結(jié)構(gòu),兼容性好。簡(jiǎn)述微處理器、微計(jì)算機(jī)及微計(jì)算機(jī)系統(tǒng)三個(gè)術(shù)語的內(nèi)涵。答:微處理器是微計(jì)算機(jī)系統(tǒng)的核心硬件部件,對(duì)系統(tǒng)的性能起決定性的影響。微計(jì)算機(jī)包括微處理器、存儲(chǔ)器、I/O接口電路及系統(tǒng)總線。微計(jì)算機(jī)系統(tǒng)是在微計(jì)算機(jī)的基礎(chǔ)上配上相應(yīng)的外部設(shè)備和各種軟件,
2、形成一個(gè)完整的、獨(dú)立的信息處理系統(tǒng)。80X86微處理器有幾代?各代的名稱是什么?答:從體系結(jié)構(gòu)上可分為3代: 8080/8085:8位機(jī)。 8086/8088/80286:16位機(jī)。 80386/80486:32位機(jī)。第2章 微處理器結(jié)構(gòu)及微計(jì)算機(jī)的組成8086是多少位的微處理器?為什么?答:8086是16位的微處理器,其內(nèi)部數(shù)據(jù)通路為16位,對(duì)外的數(shù)據(jù)總線也是16位。EU與BIU各自的功能是什么?如何協(xié)同工作?答:EU是執(zhí)行部件,主要的功能是執(zhí)行指令。BIU是總線接口部件,與片外存儲(chǔ)器及I/O接口電路傳輸數(shù)據(jù)。EU經(jīng)過BIU進(jìn)行片外操作數(shù)的訪問,BIU為EU提供將要執(zhí)行的指令。EU與BIU可
3、分別獨(dú)立工作,當(dāng)EU不需BIU提供服務(wù)時(shí),BIU可進(jìn)行填充指令隊(duì)列的操作。8086/8088與其前一代微處理器8085相比,內(nèi)部操作有什么改進(jìn)?答:8085為8位機(jī),在執(zhí)行指令過程中,取指令與執(zhí)行執(zhí)令都是串行的。8086/8088由于內(nèi)部有EU和BIU兩個(gè)功能部件,可重疊操作,提高了處理器的性能。8086/8088微處理器內(nèi)部有那些寄存器,它們的主要作用是什么?答:執(zhí)行部件有8個(gè)16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作為通用數(shù)據(jù)寄存器。SP為堆棧指針存器,BP、DI、SI在間接尋址時(shí)作為地址寄存器或變址寄存器??偩€接口部件設(shè)有段寄存器CS、DS
4、、SS、ES和指令指針寄存器IP。段寄存器存放段地址,與偏移地址共同形成存儲(chǔ)器的物理地址。IP的內(nèi)容為下一條將要執(zhí)行指令的偏移地址,與CS共同形成下一條指令的物理地址。8086對(duì)存儲(chǔ)器的管理為什么采用分段的辦法?答:8086是一個(gè)16位的結(jié)構(gòu),采用分段管理辦法可形成超過16位的存儲(chǔ)器物理地址,擴(kuò)大對(duì)存儲(chǔ)器的尋址范圍 (1MB,20位地址)。若不用分段方法,16位地址只能尋址64KB空間。6在8086中,邏輯地址、偏移地址、物理地址分別指的是什么?具體說明。答:邏輯地址是在程序中對(duì)存儲(chǔ)器地址的一種表示方法,由段地址和段內(nèi)偏移地址兩部分組成,如1234H:0088H。偏移地址是指段內(nèi)某個(gè)存儲(chǔ)單元相
5、對(duì)該段首地址的差值,是一個(gè)16位的二進(jìn)制代碼。物理地址是8086芯片引線送出的20位地址碼,用來指出一個(gè)特定的存儲(chǔ)單元。7給定一個(gè)存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C00EH,求出該內(nèi)存單元的物理地址。答:物理地址:320F8H。88086/8088為什么采用地址/數(shù)據(jù)引線復(fù)用技術(shù)?答:考慮到芯片成本,8086/8088采用40條引線的封裝結(jié)構(gòu)。40條引線引出8086/8088的所有信號(hào)是不夠用的,采用地址/數(shù)據(jù)線復(fù)用引線方法可以解決這一矛盾,從邏輯角度,地址與數(shù)據(jù)信號(hào)不會(huì)同時(shí)出現(xiàn),二者可以分時(shí)復(fù)用同一組引線。8086與8088的主要區(qū)別是什么?答:8086有16條數(shù)據(jù)信號(hào)
6、引線,8088只有8條;8086片內(nèi)指令預(yù)取緩沖器深度為6字節(jié),8088只有4字節(jié)。怎樣確定8086的最大或最小工作模式?最大、最小模式產(chǎn)生控制信號(hào)的方法有何不同答:引線MN/MX#的邏輯狀態(tài)決定8086的工作模式,MN/MX#引線接高電平,8086被設(shè)定為最小模式,MN/MX#引線接低電平,8086被設(shè)定為最大模式。最小模式下的控制信號(hào)由相關(guān)引線直接提供;最大模式下控制信號(hào)由8288專用芯片譯碼后提供,8288的輸入為8086的S2#S0#三條狀態(tài)信號(hào)引線提供。8086被復(fù)位以后,有關(guān)寄存器的狀態(tài)是什么?微處理器從何處開始執(zhí)行程序?答:標(biāo)志寄存器、IP、DS、SS、ES和指令隊(duì)列置0,CS置
7、全1。處理器從FFFFOH存儲(chǔ)單元取指令并開始執(zhí)行。8086基本總線周期是如何組成的?各狀態(tài)中完成什么基本操作?答:基本總線周期由4個(gè)時(shí)鐘(CLK)周期組成,按時(shí)間順序定義為T1、T2、T3、T4。在T1期間8086發(fā)出訪問目的地的地址信號(hào)和地址鎖存選通信號(hào)ALE;T2期間發(fā)出讀寫命令信號(hào)RD#、WR#及其它相關(guān)信號(hào);T3期間完成數(shù)據(jù)的訪問;T4結(jié)束該總線周期。結(jié)合8086最小模式下總線操作時(shí)序圖,說明ALE、M/IO#、DT/R#、RD#、READY信號(hào)的功能。答:ALE為外部地址鎖存器的選通脈沖,在T1期間輸出;M/IO#確定總線操作的對(duì)象是存儲(chǔ)器還是I/O接口電路,在T1輸出;DT/R#
8、為數(shù)據(jù)總線緩沖器的方向控制信號(hào),在T1輸出;RD#為讀命令信號(hào);在T2輸出;READY信號(hào)為存儲(chǔ)器或I/O接口“準(zhǔn)備好”信號(hào),在T3期間給出,否則8086要在T3與T4間插入Tw等待狀態(tài)。8086中斷分哪兩類?8086可處理多少種中斷?答:8086中斷可分為硬件中斷和軟件中斷兩類。8086可處理256種類型的中斷。8086可屏蔽中斷請(qǐng)求輸入線是什么?“可屏蔽”的涵義是什么?答:可屏蔽中斷請(qǐng)求輸入線為INTR;“可屏蔽”是指該中斷請(qǐng)求可經(jīng)軟件清除標(biāo)志寄存器中IF位而被禁止。8086的中斷向量表如何組成?作用是什么?答:把內(nèi)存0段中03FFH區(qū)域作為中斷向量表的專用存儲(chǔ)區(qū)。該區(qū)域存放256種中斷的
9、處理程序的入口地址,每個(gè)入口地址占用4個(gè)存儲(chǔ)單元,分別存放入口的段地址與偏移地址。178086如何響應(yīng)一個(gè)可屏蔽中斷請(qǐng)求?簡(jiǎn)述響應(yīng)過程。答:當(dāng)8086收到INTR的高電平信號(hào)時(shí),在當(dāng)前指令執(zhí)行完且IF=1的條件下,8086在兩個(gè)總線周期中分別發(fā)出INTA#有效信號(hào);在第二個(gè)INTA#期間,8086收到中斷源發(fā)來的一字節(jié)中斷類型碼;8086完成保護(hù)現(xiàn)場(chǎng)的操作,CS、IP內(nèi)容進(jìn)入堆棧,請(qǐng)除IF、TF;8086將類型碼乘4后得到中斷向量表的入口地址,從此地址開始讀取4字節(jié)的中斷處理程序的入口地址,8086從此地址開始執(zhí)行程序,完成了INTR中斷請(qǐng)求的響應(yīng)過程。什么是總線請(qǐng)求?8086在最小工作模式下
10、,有關(guān)總線請(qǐng)求的信號(hào)引腳是什么?答:系統(tǒng)中若存在多個(gè)可控制總線的主模塊時(shí),其中之一若要使用總線進(jìn)行數(shù)據(jù)傳輸時(shí),需向系統(tǒng)請(qǐng)求總線的控制權(quán),這就是一個(gè)總線請(qǐng)求的過程。8086在最小工作模式下有關(guān)總線請(qǐng)求的信號(hào)引腳是HOLD與HLDA。簡(jiǎn)述在最小工作模式下,8086如何響應(yīng)一個(gè)總線請(qǐng)求?答:外部總線主控模塊經(jīng)HOLD引線向8086發(fā)出總線請(qǐng)求信號(hào);8086在每個(gè)時(shí)鐘周期的上升沿采樣HOLD引線;若發(fā)現(xiàn)HOLD=1則在當(dāng)前總線周期結(jié)束時(shí)(T4結(jié)束)發(fā)出總線請(qǐng)求的響應(yīng)信號(hào)HLDA;8086使地址、數(shù)據(jù)及控制總線進(jìn)入高阻狀態(tài),讓出總線控制權(quán),完成響應(yīng)過程。20在基于8086的微計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器是如何組
11、織的?是如何與處理器總線連接的?BHE#信號(hào)起什么作用?答:8086為16位處理器,可訪問1M字節(jié)的存儲(chǔ)器空間;1M字節(jié)的存儲(chǔ)器分為兩個(gè)512K字節(jié)的存儲(chǔ)體,命名為偶字節(jié)體和奇字節(jié)體;偶體的數(shù)據(jù)線連接D7D0,“體選”信號(hào)接地址線A0;奇體的數(shù)據(jù)線連接D15D8,“體選”信號(hào)接BHE#信號(hào);BHE#信號(hào)有效時(shí)允許訪問奇體中的高字節(jié)存儲(chǔ)單元,實(shí)現(xiàn)8086的低字節(jié)訪問、高字節(jié)訪問及字訪問。21“80386是一個(gè)32位微處理器”,這句話的涵義主要指的是什么?答:指80386的數(shù)據(jù)總線為32位,片內(nèi)寄存器和主要功能部件均為32位,片內(nèi)數(shù)據(jù)通路為32位。2280X86系列微處理器采取與先前的微處理器兼容
12、的技術(shù)路線,有什么好處?有什么不足?答:好處是先前開發(fā)的軟件可以在新處理器組成的系統(tǒng)中運(yùn)行,保護(hù)了軟件投資。缺點(diǎn)是處理器的結(jié)構(gòu)發(fā)展受到兼容的約束,為了保持兼容性增加了硅資源的開銷,增加了結(jié)構(gòu)的復(fù)雜性。2380386內(nèi)部結(jié)構(gòu)由哪幾部分組成?簡(jiǎn)述各部分的作用。答:80386內(nèi)部結(jié)構(gòu)由執(zhí)行部件(EU)、存儲(chǔ)器管理部件(MMU)和總線接口部件(BIU)三部分組成。EU包括指令預(yù)取部件、指令譯碼部件、控制部件、運(yùn)算部件及保護(hù)檢測(cè)部件,主要功能是執(zhí)行指令。存儲(chǔ)器管理部件包括分段部件、分頁部件,實(shí)現(xiàn)對(duì)存儲(chǔ)器的分段分頁式的管理,將邏輯地址轉(zhuǎn)換成物理地址。總線接口部件作用是進(jìn)行片外訪問:對(duì)存儲(chǔ)器及I/O接口的訪
13、問、預(yù)取指令;另外的作用是進(jìn)行總線及中斷請(qǐng)求的控制2480386有幾種存儲(chǔ)器管理模式?都是什么?答:80386有三種存儲(chǔ)器管理模式,分別是實(shí)地址方式、保護(hù)方式和虛擬8086方式25在不同的存儲(chǔ)器管理模式下,80386的段寄存器的作用是什么?答:在實(shí)地址方式下,段寄存器與8086相同,存放段基地址。在保護(hù)方式下,每個(gè)段寄存器還有一個(gè)對(duì)應(yīng)的64位段描述符寄存器,段寄存器作為選擇器存放選擇符。在虛擬8086方式下,段寄存器的作用與8086相同。26試說明虛擬存儲(chǔ)器的涵義,它與物理存儲(chǔ)器有什么區(qū)別?80386虛擬地址空間有多大?答:虛擬存儲(chǔ)器是程序員面對(duì)的一個(gè)巨大的、可尋址的存儲(chǔ)空間,這個(gè)空間是內(nèi)存與
14、外存聯(lián)合形成的,在操作系統(tǒng)的管理下,程序可象訪問內(nèi)存一樣去訪問外存而獲得所需數(shù)據(jù)。物理存儲(chǔ)器是指機(jī)器實(shí)際擁有的內(nèi)存儲(chǔ)器,不包括外存。80386的虛擬地址空間為64TB大。27試說明描述符的分類及各描述符的作用。答:描述符分為三類:存儲(chǔ)器段描述符、系統(tǒng)段描述符、門描述符。存儲(chǔ)器段描述符由8字節(jié)組成,它用來說明一個(gè)段中保存信息的情況。32位段基地址和20位段界限值定位了該段在存儲(chǔ)空間中的位置,其它有關(guān)位決定訪問權(quán)限及段的長(zhǎng)度單位。系統(tǒng)段描述符與存儲(chǔ)器段描述符大多數(shù)字節(jié)段相同,有關(guān)訪問權(quán)及屬性字節(jié)段有些不同。門描述符用來改變程序的特權(quán)級(jí)別、切換任務(wù)的執(zhí)行以及指出中斷服務(wù)程序的入口。28描述符表的作用
15、是什么?有幾類描述符表?答:描述符表順序存放一系列描述符,描述符表定義了在80386系統(tǒng)中被使用的全部存儲(chǔ)器段。有3類描述符表,即全局描述符表、局部描述符表及中斷描述符表。80386的分段部件是如何將邏輯地址變?yōu)榫€性地址的?答:分段部件根據(jù)段選擇符從全局描述符表或局部描述符表中取出對(duì)應(yīng)的段描述符。把段描述符32位段基地址與邏輯地址中的32位偏移量相加就形成了線性地址。80386中如何把線性地址變?yōu)槲锢淼刂罚看穑悍侄尾考纬傻?2位線性地址中高10位作為尋址頁目錄表的偏移量,與控制寄存器CR3中頁目錄表基地址共同形成一個(gè)32位的地址指向頁表中的一個(gè)頁項(xiàng),即為一個(gè)頁面描述符。該頁面項(xiàng)中高20位作為
16、頁面基地址,線性地址的低12位為偏移量,相加后形成指向某一存儲(chǔ)單元的32位物理地址。若禁止分頁功能,線性地址就是物理地址。80386對(duì)中斷如何分類?答:80386把中斷分為外部中斷和內(nèi)部中斷兩大類,外部中斷經(jīng)NMI和INTR引線輸入請(qǐng)求信號(hào)。內(nèi)部中斷也叫內(nèi)部異常中斷,分為陷阱中斷、內(nèi)部故障異常中斷、異常終止中斷。80386在保護(hù)方式下中斷描述符表與8086的中斷向量表有什么不同?答:8086工作在實(shí)地址方式,向量表是在存儲(chǔ)器的0段中最低1024字節(jié)內(nèi)存中。80386在保護(hù)方式下要通過中斷描述符表中的描述符訪問虛擬空間的中斷向量,中斷描述符表的位置不是固定的,要由IDTR寄存器實(shí)現(xiàn)在虛擬空間的定
17、位。簡(jiǎn)述80386在保護(hù)方式下的中斷處理過程。答:80386響應(yīng)中斷后,接收由中斷源提供的類型碼并將其乘8,與IDTR寄存器中基地址相加,指出中斷描述符的位置,讀出中斷描述符,依其中的段選擇符及條件決定從兩個(gè)描述符表LDT或GDT中的一個(gè)得到段描述符,形成中斷服務(wù)程序入口所在存儲(chǔ)器單元的線性地址。第3章 8086指令系統(tǒng)及尋址方式1. 根據(jù)下列要求編寫一個(gè)匯編語言程序::代碼段的段名為COD_SG數(shù)據(jù)段的段名為DAT_SG堆棧段的段名為STK_SG變量HIGH_DAT所包含的數(shù)據(jù)為95將變量HIGH_DAT裝入寄存器AH,BH和DL程序運(yùn)行的入口地址為START答案:DAT_SG SEGEMN
18、THIGH_DATDB 95DAT_SG ENDS;STK_SG SEGMENT DW64 DUP(?)STK_SG ENDS;COD_SG SEGMENTMAINPROCFARASSUMECS: COD_SG, DS: DAT_SG, SS: STK_SGSTART:MOVAX, DAT-SGMOVDS, AXMOVAH, HIGH_DATMOVBH, AHMOVDL, AHMOVAH, 4CHINT21HMAIN ENDPCOD_SG ENDS END START2. 指出下列程序中的錯(cuò)誤:STAKSGSEGMENTDB100 DUP(?)STA_SGENDSDTSEGSEGMENTDAT
19、A1DB?DTSEGENDCDSEGSEGMENTMAINPROCFARSTART:MOVDS,DATSEGMOVAL,34HADDAL,4FHMOVDATA,ALSTARTENDPCDSEGENDSEND答案: 改正后:STAKSGSEGMENTDB100 DUP(?)STAKSGENDSDTSEGSEGMENTDATA1DB?DTSEGENDSCDSEG SEGMENTMAINPROCFARASSUME CS: CDSEG, DS: DTSEG, SS: STAKSGSTART:MOVAX, DTSEGMOVDS, AXMOVAL, 34HADDAL, 4FHMOVDATA1, ALMOV
20、AH, 4CHINT21HMAINENDPCDSEGENDSEND S3. 將下列文件類型填入空格:(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map 編輯程序輸出的文件有_; 匯編程序輸出的文件有_; 連接程序輸出的文件有_。答案:編輯程序輸出文件: (4)匯編程序輸出文件: (1), (3), (5) 連接程序輸出文件: (2), (6)4. 下列標(biāo)號(hào)為什么是非法的?(1) GET.DATA (2) 1_NUM (3) TEST-DATA(4) RET(5) NEW ITEM答案:非法標(biāo)號(hào): (1)因?yàn)?只允許是標(biāo)號(hào)的第一個(gè)字符(2)
21、第一個(gè)字符不能為數(shù)字 (3)不允許出現(xiàn)-(4)不能是保留字,如助記符 (5)不能有空格5. 下面的數(shù)據(jù)項(xiàng)定義了多少個(gè)字節(jié)?DATA_1DB6 DUP(4 DUP(0FFH)答案:24字節(jié)6. 對(duì)于下面兩個(gè)數(shù)據(jù)段,偏移地址為10H和11H的兩個(gè)字節(jié)中的數(shù)據(jù)是一樣的嗎?為什么?DTSEGSEGMENT |DTSEGSEGMENTORG10H |ORG10HDATA1DB72H |DATA1DW7204HDB04H |DTSEGENDSDTSEGENDS |答案:不一樣. 分別是72H, 04H和04H, 72H. 存儲(chǔ)字時(shí)低8位存在低字節(jié),高8位存在高字節(jié).7. 下面的數(shù)據(jù)項(xiàng)設(shè)置了多少個(gè)字節(jié)?(1
22、) ASC_DATADB1234(2) HEX_DATA DB1234H答案 (1) 設(shè)置了4個(gè)字節(jié) (2) 設(shè)置了2個(gè)字節(jié)8. 執(zhí)行下列指令后, AX寄存器中的內(nèi)容是什么?TABLEDW10,20,30,40,50ENTRYDW3MOVBX,OFFSET TABLEADDBX,ENTRYMOVAX,BX答案: (AX)=409. 指出下列指令的錯(cuò)誤:(1) MOVAH,BX(2) MOVSI,BX(3) MOVAX,SIDI(4) MOVAX,BXBP(5) MOVBX,ES:AX(6) MOVBYTE PTRBX,1000(7) MOVAX,OFFSET SI(8) MOVCS,AX(9)
23、 MOVDS,BP答案:(1) 源、目的字長(zhǎng)不一致 (2) 源、目的不能同時(shí)為存貯器尋址方式 (3) 基址變址方式不能有 SI和DI的組合 (4) 基址變址方式不能有 BX和BP的組合 (5) 在8086尋址方式中,AX不能作為基址寄存器使用,而且源、目的不能同時(shí)為存貯器尋址方式 (6) 1000超出一個(gè)字節(jié)的表數(shù)范圍 (7) OFFSET只用于簡(jiǎn)單變量,應(yīng)去掉 (8) CS不能作為目的寄存器 (9) 段地址不能直接送入數(shù)據(jù)段寄存器10. DATASEGMENTTABLE_ADDRDW1234HDATAENDSMOVBX, TABLE_ADDRLEABX, TABLE_ADDR 請(qǐng)寫出上述兩條
24、指令執(zhí)行后, BX寄存器中的內(nèi)容。答案:MOVBX,TABLE_ADDR; 執(zhí)行后(BX)=1234H LEABX,TABLE_ADDR; 執(zhí)行后(BX)=OFFSET TABLE_ADDR11. 設(shè)(DS)=1B00H, (ES)=2B00H, 有關(guān)存儲(chǔ)器地址及其內(nèi)容如右圖所示,請(qǐng)用兩條指令把X裝入AX寄存器。 1B00:2000H8000H 1B00:2002H2B00H . . 2B00:8000HX 答案:LES BX, 2000HMOV AX, ES: BX12. 變量DATAX和DATAY定義如下: DATAXDW 0148H DW 2316H DATAYDW 0237H DW 4
25、052H按下述要求寫出指令序列:DATAX和DATAY中的兩個(gè)字?jǐn)?shù)據(jù)相加, 和存放在DATAY和DATAY+2中。DATAX和DATAY中的兩個(gè)雙字?jǐn)?shù)據(jù)相加, 和存放在DATAY開始的字單元中。DATAX和DATAY兩個(gè)字?jǐn)?shù)據(jù)相乘(用MUL)。DATAX和DATAY兩個(gè)雙字?jǐn)?shù)據(jù)相乘(用MUL)。DATAX除以23(用DIV)。DATAX雙字除以字DATAY(用DIV)。答案:(1)MOVAX, DATAXADDAX, DATAYMOVBX, DATAX+2ADDBX, DATAY+2MOVDATAY, AXMOVDATAY+2, BX(2)MOVAX, DATAXADDDATAY, AXMOV
26、AX, DATAX+2ADCDATAY+2, AX(3)MOVAX, DATAXMULDATAYMOVDATAY,AXMOVDATAY+2,DX(4)MOVAX,WORD PTR DATAXMOVBX,WORD PTR DATAYMULBXMOVRESULT,AXMOVRESULT+2,DXMOVAX,WORD PTR DATAXMOVAX,WORD PTR DATAY+2MULBXADDRESULT+2,AXADCRESULT+4,DXMOVAX,WORD PTR DATAX+2MOVBX,WORD PTR DATAYMULBXADDRESULT+2,AXADCRESULT+4,DXMOVA
27、X,WORD PTR DATAX+2MOVBX,WORD PTR DATAY+2MULBXADDRESULT+4,AXADCRESULT+6,DX (5)MOVAX, DATAXMOVBL, 23DIVBLMOVBL,AHMOVAH, 0MOVDATAY, AX;存放商MOVAL,BLMOVDATAY+2, AX;存放余數(shù)(6)MOVAX, DATAXMOVDX, DATAX+2DIVDATAY MOVDATAY, AXMOVDATAY+2, DX13. 試分析下面的程序段完成什么操作?MOVCL,04SHLDX,CLMOVBL,AHSHLAX,CLSHRBL,CLORDL,BL答案: 將DX
28、: AX中的雙字左移4位(乘16)14. 用其他指令完成和下列指令一樣的功能:(1) REP MOVSB(2) REP LODSB(3) REP STOSB(4) REP SCASB答案:LOOP1:MOVAL,BYTE PTR SIMOVES:BYTE PTR DI, ALINCSI或:DECSIINCDI或:DECDILOOPLOOP1(2) LOOP1:MOVAL, BYTE PTR SIINCSI或:DECSILOOPLOOP1(3) LOOP1:MOVES:BYTE PTR DI, ALINCDI或:DECDILOOPLOOP1(4) LOOP1:CMPAL,ES:BYTE PTR
29、DIJEEXITINCDI或:DECDILOOPLOOP1EXIT:編寫程序段, 比較兩個(gè)5字節(jié)的字符串OLDS和NEWS, 如果OLDS字符串與NEWS不同, 則執(zhí)行NEW_LESS, 否則順序執(zhí)行程序。答案:LEASI, OLDSLEADI, NEWSMOVCX, 5CLDREPZCMPSBJNZNEW_LESS16. 假定AX和BX中的內(nèi)容為帶符號(hào)數(shù), CX和DX中的內(nèi)容為無符號(hào)數(shù), 請(qǐng)用比較指令和條件轉(zhuǎn)移指令實(shí)現(xiàn)以下判斷:若DX的值超過CX的值,則轉(zhuǎn)去執(zhí)行EXCEED若BX的值大于AX的值,則轉(zhuǎn)去執(zhí)行EXCEEDCX中的值為0嗎? 若是則轉(zhuǎn)去執(zhí)行ZEROBX的值與AX的值相減, 會(huì)產(chǎn)生
30、溢出嗎? 若溢出則轉(zhuǎn)OVERFLOW若BX的值小于AX的值,則轉(zhuǎn)去執(zhí)行EQ_SMA若DX的值低于CX的值,則轉(zhuǎn)去執(zhí)行EQ_SMA 答案:(1) CMPDX, CX JAEXCEED(2) CMPBX, AX JGEXCEED(3) CMPCX, 0 JEZERO(4) SUBBX, AX JOOVERFLOW(5) CMPBX, AX JLEQ_SMA(6) CMPDX, CX JBEQ_SMA17. 假如在程序的括號(hào)中分別填入指令:(1) LOOP L20(2) LOOPNE L20(3) LOOPE L20試說明在三種情況下, 當(dāng)程序執(zhí)行完后, AX、BX、CX、DX四個(gè)寄存器的內(nèi)容分別是
31、什么?CODESGSEGMENTASSUMECS:CODESG, DS:CODESG. SS:CODESGORG100HBEGIN:MOVAX,01MOVBX,02MOVDX,03MOVCX,04L20:INCAXADDBX,AXSHRDX,1( )RETCODESGENDSENDBEGIN答案: (1)(AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0 (2)(AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1 (3)(AX)= 3 (BX)= 7 (CX)= 2 (DX)= 018. 變量N1和N2均為2字節(jié)的非壓縮BCD數(shù)碼,請(qǐng)寫出計(jì)算N1與N2之差的指令序列。答
32、案:MOVAX, 0MOVAL, N1+1SUBAL, N2+1AASMOVDL, ALMOVAL, N1SBBAL, N2AASMOVDH, AL19. 有兩個(gè)3位的ASCII數(shù)串ASC1和ASC2定義如下:ASC1DB578ASC2DB694ASC3DB0000請(qǐng)編寫程序計(jì)算ASC3ASC1+ASC2。答案:CLCMOVCX, 3MOVBX, 2BACK:MOVAL, ASC1BXADCAL, ASC2BXAAAORASC3BX+1, ALDECBXLOOPBACKRCLCX, 1ORASC3BX, CL20. 假設(shè)(CS)=3000H, (DS)=4000H, (ES)=2000H, (
33、SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 請(qǐng)寫出下列各條指令單獨(dú)執(zhí)行完后, 有關(guān)寄存器及存儲(chǔ)單元的內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF的值。(1) SBBAX,BX(2) CMPAX,WORD PTRSI+0FA0H(3) MULBYTE PTRBX(4) AAM(5) DIVBH(
34、6) SARAX,CL(7) XORAX,0FFE7H(8) REPSTOSB(9) JMPWORD PYRBX(10) XCHGAX,ES:BX+SI 答案:(1) (AX)=0F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1(2) (SF)=1, (ZF)=0, (OF)=1, (CF)=1(3) (AX)=0240H, (OF)=1, (CF)=1(4) (AX)=0906H, (SF)=0, (ZF)=0(5) (AX)=20ACH(6) (AX)=0103H, (CF)=0(7) (AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (Z
35、F)=0(8) (23000H)(23004H)=60H, 不影響標(biāo)志位(9) (IP)=0A006H, 不影響標(biāo)志位(10) (AX)=00B0H, (25060)=2060H, 不影響標(biāo)志位第4章 匯編語言程序設(shè)計(jì)基礎(chǔ)1. 試編寫一個(gè)匯編語言程序,要求對(duì)鍵盤輸入的小寫字母用大寫字母顯示出來。答案:abc:movah,1int21hcmpal,ajbstopcmpal,zjastopsubal,20hmovdl,almovah,2int21hjmpabcstop: ret2. 編寫程序,比較兩個(gè)字符串STRING1和STRING2所含字符是否完全相同,若相同則顯示“MATCH”,若不同則顯示
36、“NO MATCH”。答案:datareasegmentstring1dbasfioastring2dbxcviyoafmess1dbMATCH,$mess2dbNO MATCH,$datarea endsprognam segmentmain proc farassume cs:prognam,ds:datareastart:pushdssubax,axpushaxmovax,datareamovds,axmoves,axbegin:movcx, string2-string1movbx, mess1-string2cmpbx,cxjnzdispnoleadx,addrleasi,strin
37、g1leadi,string2repecmpsbjnedispnomovah,9leadx,mess1int21hretdispno:movah, 9leadx, mess2int21hretmainendpprognamendsendstart3. 試編寫程序,要求從鍵盤輸入3個(gè)16進(jìn)制數(shù),并根據(jù)對(duì)3個(gè)數(shù)的比較顯示如下信息: (1)如果3個(gè)數(shù)都不相等則顯示0; (2)如果3個(gè)數(shù)中有2個(gè)數(shù)相等則顯示2; (3)如果3個(gè)數(shù)都相等則顯示3。答案:data segmentarraydw3 dup(?)dataendscode segmentmain proc farassume cs:code,ds
38、:datastart:pushdssubax,axpushaxmovax,datamovds,axmovcx,3leasi,arraybegin:pushcxmovcl,4movdi,4movdl, movah,02int21hmovdx,0input:movah,01int21handal,0fhshldx,clordl,aldecdijneinputmovsi,dxaddsi,2popcxloopbegincomp:leasi,arraymovdl,0movax,simovbx,si+2cmpax,bxjnenext1adddl,2next1:cmpsi+4,axjnenext2adddx
39、,2next2:cmpsi+4,bxjnenumadddl,2num:cmpdx,3jldispmovdl,3disp:movah,2adddl,30hint21hretmain endpcodeendsendstart4. 已知整數(shù)變量A和B,試編寫完成下述操作的程序: (1)若兩個(gè)數(shù)中有一個(gè)是奇數(shù),則將該奇數(shù)存入A中,偶數(shù)存入B中; (2)若兩個(gè)數(shù)均為奇數(shù),則兩數(shù)分別加1,并存回原變量; (3)若兩個(gè)數(shù)均為偶數(shù),則兩變量不變。答案:dsegsegmentadw?bdw?dsegendscsegsegmentmainproc farassumecs:cseg,ds:dsegstart:pus
40、hdssubax,axpushaxmovax,dsegmovds,axbegin:movax,amovbx,bxorax,bxtestax,0001jzclasstestbx,0001jzexitxchgbx,amovb,bxjmpexitclass:testbx,0001jzexitincbincaexit:retmainendpcsegendsendstart5. 把010010之間的30個(gè)數(shù),存入首地址為GRAD的字?jǐn)?shù)組中,GRAD+i表示學(xué)號(hào)為i+1的學(xué)生成績(jī)。另一個(gè)數(shù)組RANK是30個(gè)學(xué)生的名次表,其中RANK+I的內(nèi)容是學(xué)號(hào)為i+1的學(xué)生的名次。試編寫程序,根據(jù)GRAD中的學(xué)生成績(jī)
41、,將排列的名次填入RANK數(shù)組中(提示:一個(gè)學(xué)生的名次等于成績(jī)高于這個(gè)學(xué)生的人數(shù)加1)。答案:dsegsegmentgradedw30 dup(?)rankdw30 dup(?)dsegendscsegsegmentmainprocfarassumecs:cseg, ds:dseg, es:dsegstart:pushdssubax,axpushaxmovax,dsegmovds,axmoves,axbegin:movdi,0movcx,30loop1:pushcxmovcx,30movsi,0movax,gradedimovdx,0loop2:cmpgradesi,axjbego_oninc
42、dxgo_on:addsi,2looploop2popcxincdxmovrankdi,dxsdddi,2looploop1retmainendpcsegendsendstart6. 分析下列程序的功能,寫出堆棧最滿時(shí)各單元的地址及內(nèi)容。SSEGSEGMENT STACKAT1000H; 堆棧的段地址為1000HDW128 DUP(?) TOSLABELWORDSSEGENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -DSEGSEGMENTDW32 DUP(?
43、)DSEGENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CSEGSEGMENTMAINPROCFARASSUMECS:CSEG, DS:DSEG,SS:SSEGSTART:MOVAX,SSEGMOVSS,AXMOVAX,DSEGMOVDS,AXMOVAX,4321HCALLHTOARETN:MOVAH,4CHINT21HMAINENDP; - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
44、 - - - - - - - - - - - - - - - -HTOAPROCNEARCMPAX,15JLEB1PUSHAXPUSHBPMOVBP,SPMOVBX,BP+2ANDBX,0FHMOVBP+2,BXPOPBPMOVCL,4SHRAX,CLCALLHTOAB1:POPAXB2:ADDAL,30HJLPRTADDAL,07PRT:MOVDL,ALMOVAH,2INT21HRETHTOAENDPCSEGENDS; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
45、 - -ENDSTART答案:1000:0F2HB11000:0F4H31000:0F6HB11000:0F8H21000:0FAHB11000:0FCH11000:0FEHRETN1000:100H7. 寫出分配給下列中斷類型號(hào)在中斷向量表中的物理地址。 (1) INT 12H(2) INT 8答案:(1) 00048h (2) 00020h8. 試編寫程序,它輪流測(cè)試兩個(gè)設(shè)備的狀態(tài)寄存器,只要一個(gè)狀態(tài)寄存器的第0位為1,則與其相應(yīng)的設(shè)備就輸入一個(gè)字符;如果其中任一狀態(tài)寄存器的第3位為1,則整個(gè)輸入過程結(jié)束。兩個(gè)狀態(tài)寄存器的端口地址分別是0024和0036,與其相應(yīng)的數(shù)據(jù)輸入寄存器的端口則為
46、0026和0038,輸入字符分別存入首地址為BUFF1和BUFF2的存儲(chǔ)區(qū)中。答案 mov si, 0mov di, 0test12:in al, 0024htest al, 08jnz exitin al,0036h test al, 08jnz exitdev1:in al, 0024h test al, 01jz dev2in al, 0026hmov buffersi, alinc sidev2:in al, 0036h test al, 01jz test12in al, 0038h mov buff2di,alinc dijmp test12exit:ret 給定(SP)=0100
47、,(SS)=0300,(FLAGS)=0240,存儲(chǔ)單元的內(nèi)容為(00020)=0040,(00022)=0100,在段地址為0900及偏移地址為00A0的單元中有一條中斷指令I(lǐng)NT 8,試問執(zhí)行INT 8指令后,SP,SS,IP,F(xiàn)LAGS的內(nèi)容是什么?棧頂?shù)娜齻€(gè)字是什么?答案:(SP) = 00FA(SS) = 0300(IP) = 0040(FLAGS) = 0040堆棧內(nèi)容:00A1H0900H0240H10. 編寫一個(gè)程序,接收從鍵盤輸入的10個(gè)十進(jìn)制數(shù)字,輸入回車符則停止輸入,然后將這些數(shù)字加密后(用XLAT指令變換)存入內(nèi)存緩沖區(qū)BUFFER。加密表為; 輸入數(shù)字: 0,1,2,
48、3,4,5,6,7,8,9 密碼數(shù)字: 7,5,9,1,3,6,8,0,2,4答案:scodedb7,5,9,1,3,6,8,0,2,4bufferdb10 dup(?); movsi,0movcx,10leabx,scodeinput:movah,01int21hcmpal,0ahjzexitandal,0fhxlatmovbuffersi,alincsiloopinputexit:ret第5章 微計(jì)算機(jī)中處理器與I/O設(shè)備間數(shù)據(jù)傳輸控制方法試說明一般中斷系統(tǒng)的組成和功能。答:處理器內(nèi)部應(yīng)有中斷請(qǐng)求信號(hào)的檢測(cè)電路,輸出中斷響應(yīng)信號(hào),保存斷點(diǎn)的邏輯,轉(zhuǎn)向中斷處理程序的邏輯,中斷返回邏輯。系統(tǒng)中
49、要有一中斷控制器,管理多個(gè)中斷源,提供處理機(jī)所需的中斷處理信息。系統(tǒng)中請(qǐng)求中斷處理的I/O接口電路要有提供中斷請(qǐng)求信號(hào)及接收中斷響應(yīng)信號(hào)的邏輯。什么是中斷類型碼、中斷向量、中斷向量表?在基于8086/8088的微機(jī)系統(tǒng)中,中斷類型碼和中斷向量之間有什么關(guān)系?答:處理機(jī)可處理的每種中斷的編號(hào)為中斷類型碼。中斷向量是指中斷處理程序的入口地址,由處理機(jī)自動(dòng)尋址。中斷向量表是存放所有類型中斷處理程序入口地址的一個(gè)默認(rèn)的內(nèi)存區(qū)域。在8086系統(tǒng)中,中斷類型碼乘4得到向量表的入口,從此處讀出4字節(jié)內(nèi)容即為中斷向量。什么是硬件中斷和軟件中斷?在PC機(jī)中兩者的處理過程有什么不同?答:硬件中斷是通過中斷請(qǐng)求線輸
50、入電信號(hào)來請(qǐng)求處理機(jī)進(jìn)行中斷服務(wù);軟件中斷是處理機(jī)內(nèi)部識(shí)別并進(jìn)行處理的中斷過程。硬件中斷一般是由中斷控制器提供中斷類型碼,處理機(jī)自動(dòng)轉(zhuǎn)向中斷處理程序;軟件中斷完全由處理機(jī)內(nèi)部形成中斷處理程序的入口地址并轉(zhuǎn)向中斷處理程序,不需外部提供信息。試敘述基于8086/8088的微機(jī)系統(tǒng)處理硬件中斷的過程。答:以INTR請(qǐng)求為例。當(dāng)8086收到INTR的高電平信號(hào)時(shí),在當(dāng)前指令執(zhí)行完且IF=1的條件下,8086在兩個(gè)總線周期中分別發(fā)出INTA#有效信號(hào);在第二個(gè)INTA#期間,8086收到中斷源發(fā)來的一字節(jié)中斷類型碼;8086完成保護(hù)現(xiàn)場(chǎng)的操作,CS、IP內(nèi)容進(jìn)入堆棧,清除IF、TF;8086將類型碼乘4
51、后得到中斷向量入口地址,從此地址開始讀取4字節(jié)的中斷處理程序的入口地址,8086從此地址開始執(zhí)行程序,完成了INTR中斷請(qǐng)求的響應(yīng)過程。在PC機(jī)中如何使用“用戶中斷”入口請(qǐng)求中斷和進(jìn)行編程?答:PC機(jī)中分配給用戶使用的中斷是IRQ9,經(jīng)擴(kuò)展插槽B4引出,故把用戶的中斷請(qǐng)求線連接到B4上。在應(yīng)用程序中,利用25H號(hào)系統(tǒng)調(diào)用將中斷服務(wù)程序的入口地址寫入對(duì)應(yīng)0AH類型中斷對(duì)應(yīng)的中斷向量表中去。在應(yīng)用程序中把主片8259A D2屏蔽位清0,把從片8259A D1屏蔽位清0,使主片的IR2、從片的IR1可以輸入中斷請(qǐng)求。中斷服務(wù)程序結(jié)束前向主片8259A發(fā)中斷結(jié)束命令。應(yīng)用程序結(jié)束之前對(duì)主片的IR2和從
52、片的IR1進(jìn)行屏蔽,關(guān)閉用戶中斷請(qǐng)求。8259A中斷控制器的功能是什么?答:8259A中斷控制器可以接受8個(gè)中斷請(qǐng)求輸入并將它們寄存。對(duì)8個(gè)請(qǐng)求輸入進(jìn)行優(yōu)先級(jí)判斷,裁決出最高優(yōu)先級(jí)進(jìn)行處理,它可以支持多種優(yōu)先級(jí)處理方式。8259A可以對(duì)中斷請(qǐng)求輸入進(jìn)行屏蔽,阻止對(duì)其進(jìn)行處理。8259A支持多種中斷結(jié)束方式。8259A與微處理器連接方便,可提供中斷請(qǐng)求信號(hào)及發(fā)送中斷類型碼。8259A可以進(jìn)行級(jí)連以便形成多于8級(jí)輸入的中斷控制系統(tǒng)。8259A初始化編程過程完成那些功能?這些功能由那些ICW設(shè)定?答:初始化編程用來確定8259A的工作方式。ICW1確定8259A工作的環(huán)境:處理器類型、中斷控制器是單
53、片還是多片、請(qǐng)求信號(hào)的電特性。ICW2用來指定8個(gè)中斷請(qǐng)求的類型碼。ICW3在多片系統(tǒng)中確定主片與從片的連接關(guān)系。ICW4用來確定中斷處理的控制方法:中斷結(jié)束方式、嵌套方式、數(shù)據(jù)線緩沖等。8259A在初始化編程時(shí)設(shè)置為非中斷自動(dòng)結(jié)束方式,中斷服務(wù)程序編寫時(shí)應(yīng)注意什么?答:在中斷服務(wù)程序中,在返回主程序之前按排一條一般中斷結(jié)束命令指令,8259A將ISR中最高優(yōu)先級(jí)位置0,結(jié)束該級(jí)中斷處理以便為較低級(jí)別中斷請(qǐng)求服務(wù)。8259A的初始化命令字和操作命令字有什么區(qū)別?它們分別對(duì)應(yīng)于編程結(jié)構(gòu)中那些內(nèi)部寄存器?答:8259A的工作方式通過微處理器向其寫入初始化命令字來確定。初始化命令字分別裝入ICW1I
54、CW4內(nèi)部寄存器。8259A在工作過程中,微處理器通過向其寫入操作命令字來控制它的工作過程。操作命令字分別裝入OCW1OCW3內(nèi)部寄存器中。8259A占用兩個(gè)端口號(hào),不同的命令字對(duì)應(yīng)不同的端口,再加上命令字本身的特征位及加載的順序就可以正確地把各種命令字寫入對(duì)應(yīng)的寄存器中。108259A的中斷屏蔽寄存器IMR與8086中斷允許標(biāo)志IF有什么區(qū)別?答:IF是8086微處理器內(nèi)部標(biāo)志寄存器的一位,若IF=0,8086就不響應(yīng)外部可屏蔽中斷請(qǐng)求INTR引線上的請(qǐng)求信號(hào)。8259A有8個(gè)中斷請(qǐng)求輸入線,IMR中的某位為1,就把對(duì)應(yīng)這位的中斷請(qǐng)求IR禁止掉,無法被8259A處理,也無法向8086處理器產(chǎn)
55、生INTR請(qǐng)求。11. 若8086系統(tǒng)采用單片8259A中斷控制器控制中斷,中斷類型碼給定為20H,中斷源的請(qǐng)求線與8259A的IR4相連,試問:對(duì)應(yīng)該中斷源的中斷向量表入口地址是什么?若中斷服務(wù)程序入口地址為4FE24H,則對(duì)應(yīng)該中斷源的中斷向量表內(nèi)容是什么,如何定位?答:中斷向量表入口地址為:0段的0090H地址。對(duì)應(yīng)4FE24H中斷服務(wù)程序入口,在向量表中定位情況:(0090H)=24H、(0091H)=00H、(0092H)=E0H、(0093H)=4FH。試按照如下要求對(duì)8259A設(shè)定初始化命令字:8086系統(tǒng)中只有一片8259A,中斷請(qǐng)求信號(hào)使用電平觸發(fā)方式,全嵌套中斷優(yōu)先級(jí),數(shù)據(jù)
56、總線無緩沖,采用中斷自動(dòng)結(jié)束方式。中斷類型碼為20H27H,8259A的端口地址為B0H和B1H。答:ICW1=1BH (送B0H端口),ICW2=20H (送B1H端口),ICW4=03H (送B1H端口)比較中斷與DMA兩種傳輸方式的特點(diǎn)。答:中斷方式下,外設(shè)需與主機(jī)傳輸數(shù)據(jù)時(shí)要請(qǐng)求主給予中斷服務(wù),中斷當(dāng)前主程序的執(zhí)行,自動(dòng)轉(zhuǎn)向?qū)?yīng)的中斷處理程序,控制數(shù)據(jù)的傳輸,過程始終是在處理器所執(zhí)行的指令控制之下。直接存儲(chǔ)器訪問(DMA)方式下,系統(tǒng)中有一個(gè)DMA控制器,它是一個(gè)可驅(qū)動(dòng)總線的主控部件。當(dāng)外設(shè)與主存儲(chǔ)器之間需要傳輸數(shù)據(jù)時(shí),外設(shè)向DMA控制器發(fā)出DMA請(qǐng)求,DMA控制器向中央處理器發(fā)出總線
57、請(qǐng)求,取得總線控制權(quán)以后,DMA控制器按照總線時(shí)序控制外設(shè)與存儲(chǔ)器間的數(shù)據(jù)傳輸而不是通過指令來控制數(shù)據(jù)傳輸,傳輸速度大大高于中斷方式。DMA控制器應(yīng)具有那些功能?答:DMA控制器應(yīng)有DMA請(qǐng)求輸入線,接收I/O設(shè)備的DMA請(qǐng)求信號(hào);DMA控制器應(yīng)有向主機(jī)發(fā)出總線請(qǐng)求的信號(hào)線和接收主機(jī)響應(yīng)的信號(hào)線;DMA控制器在取得總線控制權(quán)以后應(yīng)能發(fā)出內(nèi)存地址、I/O讀寫命令及存儲(chǔ)器讀寫命令控制I/O與存儲(chǔ)器間的數(shù)據(jù)傳輸過程。8237A只有8位數(shù)據(jù)線,為什么能完成16位數(shù)據(jù)的DMA傳送?答:I/O與存儲(chǔ)器間在進(jìn)行DMA傳送過程中,數(shù)據(jù)是通過系統(tǒng)的數(shù)據(jù)總線傳送的,不經(jīng)過8237A的數(shù)據(jù)總線,系統(tǒng)數(shù)據(jù)總線是具有1
58、6位數(shù)據(jù)的傳輸能力的。8237A的地址線為什么是雙向的?答:8237A的A0A3地址線是雙向的,當(dāng)8237A被主機(jī)編程或讀狀態(tài)處于從屬狀態(tài),A0A3為輸入地址信號(hào),以便主機(jī)對(duì)其內(nèi)部寄存器進(jìn)行尋址訪問。當(dāng)8237A取得總線控制權(quán)進(jìn)行DMA傳送時(shí),A0A3輸出低4位地址信號(hào)供存儲(chǔ)器尋址對(duì)應(yīng)單元用,A0A3必需是雙向的。說明8237A單字節(jié)DMA傳送數(shù)據(jù)的全過程。答:8237A取得總線控制權(quán)以后進(jìn)行單字節(jié)的DMA傳送,傳送完一個(gè)字節(jié)以后修改字節(jié)計(jì)數(shù)器和地址寄存器,然后就將總線控制權(quán)放棄。若I/O的DMA請(qǐng)求信號(hào)DREQ繼續(xù)有效,8237A再次請(qǐng)求總線使用權(quán)進(jìn)行下一字節(jié)的傳送。8237A單字節(jié)DMA傳
59、送與數(shù)據(jù)塊DMA傳送有什么不同?答:?jiǎn)巫止?jié)傳送方式下,8237A每傳送完一個(gè)字節(jié)數(shù)據(jù)就釋放總線,傳送下一字節(jié)時(shí)再請(qǐng)求總線的控制權(quán)。塊傳送方式下8237A必須把整個(gè)數(shù)據(jù)塊傳送完才釋放總線。8237A什么時(shí)候作為主模塊工作,什么時(shí)候作為從模塊工作?在這兩種工作模式下,各控制信號(hào)處于什么狀態(tài),試作說明。答:8237A取得總線控制權(quán)后,開始進(jìn)行DMA傳送過程,此時(shí)8237A作為主模塊工作。8237A在被處理器編程或讀取工作狀態(tài)時(shí),處于從模塊工作狀態(tài)。8237A處于從模塊時(shí),若CS#=0、HLDA=0說明它正被編程或讀取狀態(tài),IOR#與IOW#為輸入,A0A3為輸入。8237A處于主模塊時(shí),輸出地址信號(hào)
60、A0A15 (低8位經(jīng)A0A7輸出,高8位經(jīng)DB0DB7輸出)。8237A還要輸出IOR#、IOW#、MEMR#、MEMW#、AEN、ADSTB等有效信號(hào)供DMA傳送過程使用。說明8237A初始化編程的步驟。答:(1)寫屏蔽字,阻止某通道的DMA請(qǐng)求。(2)寫命令字(8號(hào)地址),確定信號(hào)有效電平、優(yōu)先級(jí)方式、通道工作允許等。(3)寫模式字(B號(hào)地址),確定某通道傳送方式、傳送類型、地址寄存器變化方式等。(4)置0先/后觸發(fā)器。(5)設(shè)置地址寄存器、字節(jié)數(shù)寄存器的初值。(6)清除某通道屏蔽位,允許8237A響應(yīng)其DMA請(qǐng)求。8237A選擇存儲(chǔ)器到存儲(chǔ)器的傳送模式必須具備那些條件?答:必須使用82
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上半年云南旅游職業(yè)學(xué)院招聘人員(14人)備考考試試題附答案解析
- 2026年蚌埠機(jī)場(chǎng)建設(shè)投資有限公司面向社會(huì)公開招聘工作人員招聘23人備考考試試題附答案解析
- 公廁保潔員安全生產(chǎn)制度
- 口罩生產(chǎn)規(guī)章制度
- 生產(chǎn)車間風(fēng)險(xiǎn)管理制度
- 班前安全生產(chǎn)會(huì)議制度
- 2026遼寧經(jīng)濟(jì)管理干部學(xué)院(遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院)招聘高層次和急需緊缺人才40人(第一批)備考考試試題附答案解析
- 家具生產(chǎn)工藝管理制度
- 生產(chǎn)企業(yè)小黃車管理制度
- 木制品生產(chǎn)防疫制度
- (2025年)員工安全培訓(xùn)考試試題(含答案)
- GB/T 36132-2025綠色工廠評(píng)價(jià)通則
- 2025-2026學(xué)年北師大版八年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2025年艾滋病培訓(xùn)試題與答案(全文)
- 【二下數(shù)學(xué)】計(jì)算每日一練60天(口算豎式脫式應(yīng)用題)
- 殘疾人服務(wù)與權(quán)益保護(hù)手冊(cè)(標(biāo)準(zhǔn)版)
- 車隊(duì)春節(jié)前安全培訓(xùn)內(nèi)容課件
- 云南師大附中2026屆高三高考適應(yīng)性月考卷(六)歷史試卷(含答案及解析)
- PCR技術(shù)在食品中的應(yīng)用
- 輸液滲漏處理課件
- 教育培訓(xùn)行業(yè)發(fā)展趨勢(shì)與機(jī)遇分析
評(píng)論
0/150
提交評(píng)論