版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 作 業(yè) 答案 1.1 微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)三者之間有什么不同? 解: 把cpu(運(yùn)算器和控制器)用大規(guī)模集成電路技術(shù)做在一個(gè)芯片上,即為微 處理器。微處理器加上一定數(shù)量的存儲(chǔ)器和外部設(shè)備(或外部設(shè)備的接口)構(gòu)成了 微型計(jì)算機(jī)。微型計(jì)算機(jī)與管理、維護(hù)計(jì)算機(jī)硬件以及支持應(yīng)用的軟件相結(jié)合就形 成了微型計(jì)算機(jī)系統(tǒng)。 1.2 cpu在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?cpu應(yīng)該具備哪些主要功能? 解: cpu主要由起運(yùn)算器作用的算術(shù)邏輯單元、起控制器作用的指令寄存器、指 令譯碼器、可編程邏輯陣列和標(biāo)志寄存器等一些寄存器組成。其主要功能是進(jìn)行算 術(shù)和邏輯運(yùn)算以及控制計(jì)算機(jī)按照程序的規(guī)定自動(dòng)
2、運(yùn)行。 1.3微型計(jì)算機(jī)采用總線結(jié)構(gòu)有什么優(yōu)點(diǎn)? 解: 采用總線結(jié)構(gòu),擴(kuò)大了數(shù)據(jù)傳送的靈活性、減少了連線。而且總線可以標(biāo)準(zhǔn) 化,易于兼容和工業(yè)化生產(chǎn)。 1.4數(shù)據(jù)總線和地址總線在結(jié)構(gòu)上有什么不同之處?如果一個(gè)系統(tǒng)的數(shù)據(jù)和地址合 用 一套總線或者合用部分總線,那么要靠什么來(lái)區(qū)分地址和數(shù)據(jù)? 解: 數(shù)據(jù)總線是雙向的(數(shù)據(jù)既可以讀也可以寫),而地址總線是單向的。 8086cpu為了減少芯片的引腳數(shù)量,采用數(shù)據(jù)與地址線復(fù)用,既作數(shù)據(jù)總線也作為 地址總線。它們主要靠信號(hào)的時(shí)序來(lái)區(qū)分。通常在讀寫數(shù)據(jù)時(shí),總是先輸出地址 (指定要讀或?qū)憯?shù)據(jù)的單元),過(guò)一段時(shí)間再讀或?qū)憯?shù)據(jù)。 1.8在給定的模型中,寫出用累加器
3、的辦法實(shí)現(xiàn)1515的程序。 dec h jp nz,loop halt 第 2章 作業(yè) 答案 2.1 ia-32結(jié)構(gòu)微處理器直至pentillm4,有哪幾種? 解: 80386、30486、pentium、pentium pro、peruiumii、pentiumiii、pentium4。 2.6ia-32結(jié)構(gòu)微處理器有哪幾種操作模式? 解: ia一32結(jié)構(gòu)支持3種操作模式:保護(hù)模式、實(shí)地址模式和系統(tǒng)管理模式。操 作模式確定哪些指令和結(jié)構(gòu)特性是可以訪問(wèn)的。 2.8ia-32結(jié)構(gòu)微處理器的地址空間如何形成? 解: 由段寄存器確定的段基地址與各種尋址方式確定的有效地址相加形成了線性地 址。若末啟用
4、分頁(yè)機(jī)制,線性地址即為物理地址;若啟用分頁(yè)機(jī)制,則它把線性地 址轉(zhuǎn)為物理地址。 2.15 8086微處理器的總線接口部件由哪幾部分組成? 解: 8086微處理器中的總線接口單元(biu)負(fù)責(zé)cpu與存儲(chǔ)器之間的信息傳 送。具體地說(shuō),biu既負(fù)責(zé)從內(nèi)存的指定部分取出指令,送至指令隊(duì)列中排隊(duì) (8086的指令隊(duì)列有6個(gè)字節(jié),而8088的指令隊(duì)列只有4個(gè)字節(jié));也負(fù)責(zé)傳送執(zhí) 行指令時(shí)所需的操作數(shù)。執(zhí)行單元(eu)負(fù)責(zé)執(zhí)行指令規(guī)定的操作。 2.16段寄存器cs=120oh,指令指針寄存器ip=ffooh,此時(shí),指令的物理地址為 多少? 解: 指令的物理地址=12000h+ffooh=21fooh 第3
5、章 作 業(yè)答案 3.1分別指出下列指令中的源操作數(shù)和目的操作數(shù)的尋址方式。 (1)mov si, 30o (2)mov cx, datadi (3)add ax, bxsi (4)and ax, cx (5)movbp, ax (6)pushf 解: (l)源操作數(shù)為立即尋址,目的操作數(shù)為寄存器尋址。 (2)源操作數(shù)為變址寄存器加位移量尋址,目的操作數(shù)為寄存器尋址。 (3)源操作數(shù)為基址加變址尋址,目的操作數(shù)為寄存器尋址。 (4)源操作數(shù)和目的操作數(shù)都為寄存器尋址。 (5)源操作數(shù)為寄存器尋址,目的操作數(shù)為寄存器間接尋址。 (6)為堆棧操作。 3.2試述指令movax,2000h和mov ax
6、,dsz2000h的區(qū)別。 解:前一條指令是立即尋址,即把立即數(shù)2000h傳送至寄存器ax。后一條指令 是直接尋址,是把數(shù)據(jù)(ds)段中的地址為200oh單元的內(nèi)容傳送至寄存器ax。 3.3寫出以下指令中內(nèi)存操作數(shù)的所在地址。 (1)mov al, bx+10 (2)mov bp+10, ax (3)inc byteptrsi十5 (4)mov dl, es:bx+si (5)mov bx,bp+di+2 解: (1)數(shù)據(jù)段bx+10單元。 (2)堆棧段bp+10單元。 (3)數(shù)據(jù)段si+5字節(jié)單元。 (4)附加段(es段)bx+si單元。 (5)堆棧段bp+di+2單元。 3.4判斷下列指令
7、書寫是否正確。 (1)mov al, bx (2)mov al, cl (3)inc bx (4)mov 5, al (5)mov bx,si (6)m0v bl, of5h (7)mov dx, 2000h (8)pop cs (9)push cs 解: (l)不正確,al與bx數(shù)據(jù)寬度不同。 (2)正確。 (3)不正確,因?yàn)椴幻鞔_是增量字節(jié)還是字。 (4)不正確,立即數(shù)不能作為目的操作數(shù)。 (5)不正確,因?yàn)椴幻鞔_要傳送的是字節(jié)還是字。 (6)正確。 (7)正確。 (8)不正確,cs不能作為:pop指令的操作數(shù)。 (9)不正確,cs不能作為push指令的操作數(shù)。 3.5設(shè)堆錢指針sp的初值
8、為1000h,ax=2000h,bx=3000h,試問(wèn): (1)執(zhí)行指令pushax后sp的值是多少? (2)再執(zhí)行pushbx及popax后,sp、ax和bx的值各是多少? 解: (1)sp=offeh。 (2)sp=offeh;ax=3000h,bx=3000h。 3.6要想完成把3000h送2000h中,用指令: mom200oh,300oh 是否正確?如果不正確,應(yīng)該用什么方法實(shí)現(xiàn)? 解:不正確。 正確的方法是: mov al, 300oh mov 2000h,al 3.7假如想從200中減去al中的內(nèi)容,用sub200,al是否正確?如果不正確,應(yīng)該 用什么方法? 解:不正確。 正確
9、的方法是: mov bl, 200 sub bl,al 3.8試用兩種方法寫出從8oh端口讀入信息的指令。再用兩種方法寫出從4oh口輸 出10oh的指令。 解: (1)in al, 80h (2)mov dx,8oh in al, dx (3)mov,al,looh out40h,al 4)mov al,10oh mov dx,4oh out dx,al 3.9假如:al=20h,bl=1oh,當(dāng)執(zhí)行cmpal,bl后,問(wèn): (1)al、bl中的內(nèi)容是兩個(gè)無(wú)符號(hào)數(shù),比較結(jié)果如何?影響哪兒個(gè)標(biāo)志位? (2)al、bl中的內(nèi)容是兩個(gè)有符號(hào)數(shù),結(jié)果又如何,影響哪幾個(gè)標(biāo)志位? 解: (l)al=2oh
10、,bl=1oh,o=0,s=0,z=0,a=0,p=0,c=0。 (2)因?yàn)閮蓚€(gè)都是符號(hào)正數(shù),其結(jié)果與(l)相同。 3.10若要使al10,有哪幾種方法,試編寫出各自的程序段? 解: (1) 使用乘法指令: movbl,10 mulbi, (2)使用移位指令: shlal,1 movbl,al shlal,2 addal,bl (3)使用加法指令: addal,al movbl,al addal,al addal,al addal,bl 3.118086匯編語(yǔ)言指令的尋址方式有哪幾類?哪種尋址方式的指令執(zhí)行速度最快? 解:尋址方式分為:立即數(shù)尋址方式、寄存器操作數(shù)尋址方式和存儲(chǔ)器操作數(shù)尋 址方
11、式。其中,寄存器操作數(shù)尋址方式的指令執(zhí)行速度最快。 3.12在直接尋址方式中,一般只指出操作數(shù)的偏移地址,那么,段地址如何確定?如 果要用某個(gè)段寄存器指出段地址,指令中應(yīng)該如何表示? 解: 默認(rèn)的數(shù)據(jù)訪問(wèn),操作數(shù)在ds段;堆棧操作在ss段;串操作源操作數(shù)(si)在ds段, 目的操作數(shù)(di)在es段;用bp作為指針在ss段。如果要顯式地指定段地址,則在操 作數(shù)中規(guī)定段寄存器。例如: movax,es:(bx+10h) 3.13在寄存器間接尋址方式中,如果指令中沒(méi)有具體指明段寄存器,那么如何確定 段地址? 解: 在寄存器間接尋址方式中,如果指令中沒(méi)有具體指明段寄存器,段地址是 隱含約定的,也就是
12、隱含地選擇段寄存器。如操作類型為指令,則指定代碼段寄 存器cs,如操作類型為堆棧操作,則指定堆找段寄存器ss,如表3-1中所示。 當(dāng)需要超越約定時(shí),通常用段替代前綴加冒號(hào):來(lái)表示段超越,它允許程序設(shè) 計(jì)者偏離任何約定的段。 例如: mov es:bx,ax 這時(shí)數(shù)據(jù)將從寄存器eax傳送至附加段中由ebx尋址的存儲(chǔ)單元,而不是傳送 到數(shù)據(jù)段中。 3.14采用寄存器間接尋址方式時(shí),bx、bp、si、di分別針對(duì)什么情況來(lái)使用?這4個(gè) 寄存器組合間接尋址時(shí),地址是怎樣計(jì)算的?請(qǐng)舉例說(shuō)明。 解: 在寄存器間接尋址方式下,bx和bp作為間址寄存器使用,而si、di作為 變址寄存器使用。除bp間址默認(rèn)的段
13、為堆棧段,其他的都默認(rèn)為數(shù)據(jù)段。它們 都可以單獨(dú)使用,或加上偏移量或組合使用。如: bx+n lbp+n si+n di+n bx+si+n bx+di+n bp+si+n bp+di+n 3.15設(shè)ds=2100h,ss=5200h,bx=1400h,bp=6200h,說(shuō)明下面兩條指令所進(jìn)行 的具體操作: movbyteptrbp,200 movwordptrbx,2000 解:前一條指令是把立即數(shù)(應(yīng)是字節(jié))200,傳送至堆棧段(bp的默認(rèn)段偏移 量由bp規(guī)定的字節(jié)單元,地址為:52000h+620oh=58200h 第二條指令是把立即數(shù).2000,傳送至數(shù)據(jù)段(bx的默認(rèn)段)偏移量由bx
14、規(guī)定的 字單元,地址為:21000h+1400h=22400h。 3.16使用堆錢操作指令時(shí)要注意什么問(wèn)題?傳送指令和交換指令在涉及內(nèi)存操作數(shù) 時(shí)應(yīng)該分別要注意什么問(wèn)題? 解:使用堆棧指令可以把內(nèi)存單元作為一個(gè)操作數(shù)(從內(nèi)存到內(nèi)存)。但堆棧 固定在堆棧段且只能由sp指向。且堆棧操作要修改堆核指針。mov指令不能實(shí) 現(xiàn)內(nèi)存單元間的數(shù)據(jù)傳送。xchg指令是交換,有一個(gè)操作數(shù)必須是寄存器。 3.17下面這些指令中哪些是正確的?哪些是錯(cuò)誤的?若是錯(cuò)誤的,請(qǐng)說(shuō)明原因。 (1)xchg cs, ax (2)movbx, 1000 (3)xchgbx, ip (4)pushcs (5)pop cs (6)i
15、n bx, dx (7)movbytebx,100o (8)movcs, 1000 解: (l)錯(cuò)誤,cs不能交換。 (2)錯(cuò)誤,mov指令不能在內(nèi)存間傳送。 (3)錯(cuò)誤,ip不能交換。 (4)錯(cuò)誤,cs可以作為push指令的操作數(shù)。 (5)錯(cuò)誤,cs可以作為pop指令的操作數(shù)。 (6)錯(cuò)誤,in指令的目的操作數(shù)是累加器。 (7)錯(cuò)誤,目的操作數(shù)是字節(jié)單元。 (8錯(cuò)誤,cs不能作為mov指令的目的操作數(shù)。 3.18 以下是格雷碼的編碼表, o 0000 1 0001 2 0011 3 0010 4 0110 5 0111 6 0101 7 0100 8 1100 請(qǐng)用換碼指令和其他指令設(shè)計(jì)一個(gè)
16、程序段,以實(shí)現(xiàn)由格雷碼向ascii碼的轉(zhuǎn)換。 解: movbx,table movsi,ascii_tab moval,0 movcx,10 tran:xlattable movdl,al adddl,30h movsi,dl incal looptran 3.19使用乘法指令時(shí),特別要注意先判斷是用有符號(hào)數(shù)乘法指令還是用無(wú)符號(hào)數(shù)乘 法指令,這是為什么? 解:因?yàn)橛蟹?hào)數(shù)和無(wú)符號(hào)數(shù),其數(shù)的乘法是一樣的。但結(jié)果的符號(hào)取決于兩 個(gè)操作數(shù)的符號(hào)。 3.20字節(jié)擴(kuò)展指令和字?jǐn)U展指令一般用在什么場(chǎng)合?舉例說(shuō)明。 解:主要用于字節(jié)相除和字相除之前,把被除數(shù)擴(kuò)展為兩倍寬度的操作數(shù)。 3.21 什么叫bcd碼
17、?什么叫組合的bcd碼?什么叫非組合的bcd碼?8086匯編語(yǔ)言在對(duì) bcd碼進(jìn)行加、減、乘、除運(yùn)算時(shí),采用什么方法? 解:bcd碼為十進(jìn)制編碼的二進(jìn)制數(shù)。組合的bcd數(shù)是把兩位bcd加在一個(gè)字節(jié) 中,高位的在高4位。非組合的bcd碼是把一位bcd數(shù)放在一個(gè)字節(jié)的低4位,高4位 為0。8086在bcd加、減和乘法運(yùn)算以后用bcd調(diào)整指令把結(jié)果調(diào)整為正確的bcd 數(shù)。在bcd除法之前先用bcd調(diào)整指令再做除法. 3.22用普通運(yùn)算指令執(zhí)行bcd碼運(yùn)算時(shí),為什么要進(jìn)行十進(jìn)制調(diào)整?具體地講,在 進(jìn)行bcd碼的加、減、乘、除運(yùn)算時(shí),程序段的什么位置必須加上十進(jìn)制調(diào)整 指令? 解:因?yàn)?086指令把操作
18、數(shù)作為二進(jìn)制數(shù)進(jìn)行二進(jìn)制運(yùn)算,要得到正確的bcd結(jié) 果,需要進(jìn)行調(diào)整。在加、減、乘法指令之后加上bcd調(diào)整指令,而在除法指令 之前先用bcd調(diào)整指令再用除法指令。 第4章 作業(yè)答案 4.1在下列程序運(yùn)行后,給相應(yīng)的寄存器及存儲(chǔ)單元填入運(yùn)行的結(jié)果: mov al, 1oh mov cx, 100oh mov bx, 2000h mov cx,al xchgcx, bx mov dh, bx mov dl, 01h xchgcx, bx mov bx,dl hlt 解:寄存器及存儲(chǔ)單元的內(nèi)容如下: al=1oh bl=ooh bh=2oh cl=ooh ch=1oh dh=1oh (10o0h)=
19、loh (200oh)=0lh 2.要求同題4.1,程序如下: mov al, 50h mov bp, 100oh mov bx, 200oh movbp,al mov dh, 20h movbx,dh mov dl, olh mov dl, bx mov cx, 300oh hlt 解:寄存器及存儲(chǔ)單元的內(nèi)容如下: al=5oh bl=ooh bh=20h cl=ooh ch=30h dl=20h dh=2oh bp=100oh (10ooh)=5oh (20ooh)=20h 4.3自1000h單元開(kāi)始有一個(gè)100個(gè)數(shù)的數(shù)據(jù)塊,若要把它傳送到自200oh開(kāi)始的存 儲(chǔ)區(qū)中去,可以采用以下3種方
20、法實(shí)現(xiàn),試分別編制程序以實(shí)現(xiàn)數(shù)據(jù)塊的傳送。 (l)不用數(shù)據(jù)塊傳送指令 (2)用單個(gè)傳送的數(shù)據(jù)塊傳送指令 (3)用數(shù)據(jù)塊成組傳送指令。 解: (1) lea si, 1oooh lea di, 200oh mov cx, 100 l1: mov ax, si movdi,ax loopll hlt (2) leasi,100oh leadi,2000h movcx,100 cld l1: movsb loop l1 hlt (3) leasi, 100oh leadi, 200oh movcx, 100 cld rep movsb hlt 4.4 利用變址寄存器,編寫一個(gè)程序,把自1000h單元
21、開(kāi)始的100個(gè)數(shù)傳送到自1070h 開(kāi)始的存儲(chǔ)區(qū)中去。 解: leasi,100oh leadi,1070h movcx,100 cld rep movsb hlt 4.5要求同題4.4,源地址為2050h,目的地址為2000h,數(shù)據(jù)塊長(zhǎng)度為50. 解: leasi,205oh leadi,200oh movcx,50 cld repmovsb hlt 4.6編寫一個(gè)程序,把自100oh單元開(kāi)始的100個(gè)數(shù)傳送至105oh開(kāi)始的存儲(chǔ)區(qū)中 (注意:數(shù)據(jù)區(qū)有重疊)。 解: leasi, 100oh leadi,1050h addsi, 63h adddi, 63h movcx, 100 std r
22、epmovsb hlt 4.7在自0500h單元開(kāi)始,存有100個(gè)數(shù)。要求把它傳送到1000h開(kāi)始的存儲(chǔ)區(qū)中, 但在傳送過(guò)程中要檢查數(shù)的值,遇到第一個(gè)零就停止傳送。 解: lea si, 050oh lea di, 10ooh mov cx, 100 n1: mov al, si cmp al, 0 jz n2 movdi,al inc si inc di loopn1 n2: hlt 4.14若在0500h單元中有一個(gè)數(shù) (1)利用加法指令把它乘2,且送回原存儲(chǔ)單元(假定x2后仍為一個(gè)字節(jié)); (2)x4; (3)x10(假定xl0255). 解: (1) lea bx, 050oh mov
23、 al, bx add al, al movbx,al (2) lea bx, 0500h mov al, bx add al, al add al, al movbx,al (3)leabx, 050oh moval, bx addal, al movdl, al addal, al add al,al addal, dl movbx,al 第 5 章 作業(yè)答案 5.1 總線周期的含義是什么?8086/8088cpu的基本總線周期由幾個(gè)時(shí)鐘組成?如果 一個(gè)cpu的時(shí)鐘頻率為8mhz,那么,它的一個(gè)時(shí)鐘周期是多少?一個(gè)基本總線周期是多 少?如果主頻為5mhz呢? 解:cpli訪問(wèn)總線(從內(nèi)存儲(chǔ)
24、器或i/0端口讀/寫字節(jié)或字)所需的時(shí)間稱為總線周 期。8086/8088cpu的基本總線周期由4個(gè)時(shí)鐘組成。若cpu的時(shí)鐘頻率為8(5)mhz,時(shí) 鐘周期為1/8mhz=125(1/5mhz=2o)ns,基本總線周期為4125(200)ns=500(800)ns 5.2在總線周期的ti、t2、t3、t4狀態(tài),cpu分別執(zhí)行什么動(dòng)作?什么情況下需要插入 等待狀態(tài)tw?tw在哪兒插入?怎樣插入? 解: 下面以存儲(chǔ)器讀為例進(jìn)行說(shuō)明。 在tl周期:輸出地址信號(hào)、地址鎖存允許信號(hào)、內(nèi)存或i/o端口訪問(wèn)控制信號(hào); 在t2周期:cpij開(kāi)始執(zhí)行數(shù)據(jù)傳送操作,此時(shí),8086cpu內(nèi)部的多路開(kāi)關(guān)進(jìn)行切換,將
25、地址/數(shù)據(jù)線ad15ad0上的地址撤銷,切換為數(shù)據(jù)總線,為讀寫數(shù)據(jù)作準(zhǔn) 備。8288總線控制器發(fā)出數(shù)據(jù)總線允許信號(hào)和數(shù)據(jù)發(fā)送/接收控制信號(hào) dt/r允許數(shù)據(jù)收發(fā)器工作,使數(shù)據(jù)總線與8086cpu的數(shù)據(jù)線接通,并控制數(shù) 據(jù)傳送的方向。同樣,把地址/狀態(tài)線a19/s6a16/s3切換成與總線周期有 關(guān)的狀態(tài)信息,指示若干與周期有關(guān)的情況。 在t3周期:開(kāi)始的時(shí)鐘下降沿上,8086cpu采樣ready線。如果ready信號(hào)有效(高電平),則在t3狀態(tài)結(jié)束后進(jìn)人ta狀態(tài)。在t4狀態(tài)開(kāi)始的時(shí)鐘下降沿,把數(shù)據(jù)總線上的數(shù)據(jù)讀入cpu或?qū)懙降刂愤x中的單元。 在t4狀態(tài):結(jié)束總線周期。如果訪問(wèn)的是慢速存儲(chǔ)器或是
26、外設(shè)接口,則應(yīng)該在tl狀態(tài)輸出的地址,經(jīng)過(guò)譯碼選中某個(gè)單元或設(shè)備后,立即驅(qū)動(dòng)ready信號(hào)到低電平。8086cpu在t3狀態(tài)采樣到ready信號(hào)無(wú)效,就會(huì)插入等待周期tw,在tw 狀態(tài)cpu繼續(xù)采樣ready信號(hào);直至其變?yōu)橛行Ш笤龠M(jìn)人t4狀態(tài),完成數(shù)據(jù)傳送,結(jié)束總線周期。在t4狀態(tài),8086cpu完成數(shù)據(jù)傳送,狀態(tài)信號(hào)s2 s0 。變?yōu)闊o(wú)操作的過(guò)渡狀態(tài)。在此期間,8086cpu結(jié)束總線周期,恢復(fù)各信號(hào)線 的初態(tài),準(zhǔn)備執(zhí)行下一個(gè)總線周期。 第6章 作 業(yè) 答 案 6.1 若有一單板機(jī),具有用8片2114構(gòu)成的4kbram,連線如圖創(chuàng)所示。 若以每1kbram作為一組,則此4組ram的基本地址是
27、什么?地址有沒(méi)有重疊區(qū)?每一組 的地址范圍為多少? 解:ram的基本地址為: 第一組 ooooh03ffh 第二組 4000h43ffh 第三組 8000h83ffh 第四組 cooohc3ffh 地址有重疊區(qū)。每一組的地址范圍為oooh3ffh(1024個(gè)字節(jié))。 6.4若要擴(kuò)充1kbram(用2114片子),規(guī)定地址為8000h83ffh,地址線應(yīng)該如何 連接? 解:擴(kuò)充lkbram至規(guī)定地址8000h83ffh,其地址線的低10位接芯片,高6位地址 (al5a10=100000)產(chǎn)生組選擇信號(hào)。 第7 章 作 業(yè) 答 案 7.1 外部設(shè)備為什么要通過(guò)接口電路和主機(jī)系統(tǒng)相連? 解: 因?yàn)橥?/p>
28、部設(shè)備種類繁多,輸入信息可能是數(shù)字量、模擬量或開(kāi)關(guān)量,而且輸 入速度、電平、功率與cpu差距很大。所以,通常要通過(guò)接口電路與主機(jī)系統(tǒng) 相連。 7.4 cpu和輸入輸出設(shè)備之間傳送的信息有哪幾類? 解:cpu和輸入輸出設(shè)備之間傳送的信息主要有3類。 (l)數(shù)據(jù) 在微型計(jì)算機(jī)中,數(shù)據(jù)通常為8位、16位或32位。 (2)狀態(tài)信息 在輸入時(shí),有輸入設(shè)備的信息是否準(zhǔn)備好;在輸出時(shí)有輸出設(shè)備是否有空,若輸 出設(shè)備正在輸出信息,則以忙指示等。 (3)控制信息 例如,控制輸入輸出設(shè)備啟動(dòng)或停止等。 7.9設(shè)一個(gè)接口的輸入端口地址為0100h,狀態(tài)端口地址為0104h,狀態(tài)端口中第5位 為1表示輸入緩沖區(qū)中有一
29、個(gè)字節(jié)準(zhǔn)備好,可以輸入。設(shè)計(jì)具體程序以實(shí)現(xiàn)查詢式 輸入。 解: 查詢輸入的程序段為: poll: in al, 0104h andal,20h jz poll in al, 0100h 第 8 章作 業(yè) 答 案 8.1在中斷響應(yīng)過(guò)程中,8086cpu向8259a發(fā)出的兩個(gè)rt互信號(hào)分別起什么作用? 解: cpu發(fā)出的第一個(gè)inta脈沖告訴外部電路,其提出的中斷請(qǐng)求已被響應(yīng), 應(yīng)準(zhǔn)備將類型號(hào)發(fā)給cpu,8259a接到了這個(gè)inta脈沖時(shí),把中斷的最高優(yōu)先級(jí) 請(qǐng)求置入中斷狀態(tài)寄存器(isr)中,同時(shí)把irr(中斷請(qǐng)求寄存器)中的相應(yīng)位復(fù) 位。cpu發(fā)出的第二個(gè)inta脈沖告訴外部電路將中斷的類型號(hào)
30、放在數(shù)據(jù)總線 上。 8.28086cpu最多可以有多少個(gè)中斷類型?按照產(chǎn)生中斷的方法分為哪兩大類? 解:8086cpu最多可以有256個(gè)中斷類型。按照產(chǎn)生中斷的方法,可以分為內(nèi) 部中斷(軟件中斷)和外部(硬件中斷)中斷兩大類。 8.9 在編寫中斷處理子程序時(shí),為什么要在子程序中保護(hù)許多寄存器? 解:因?yàn)樵谟脩舫绦蜻\(yùn)行時(shí),會(huì)在寄存器中有中間結(jié)果,當(dāng)在中斷服務(wù)程序中要 使用這些寄存器前要把這些寄存器的內(nèi)容推至堆棧保存(稱為保護(hù)現(xiàn)場(chǎng))。在從 中斷服務(wù)程序返回至用戶程序時(shí)把這些內(nèi)容從堆找恢復(fù)至寄存器中(稱為恢復(fù) 現(xiàn)場(chǎng))。 8.12若在一個(gè)系統(tǒng)中有5個(gè)中斷源,其優(yōu)先權(quán)排列為:1、2、3、4、5,它們的中
31、斷服 務(wù)程序的入口地址分別為:3000h、302oh、3050h、3080h、30aoh。編寫一個(gè)程序, 當(dāng)有中斷請(qǐng)求cpu響應(yīng)時(shí),能用查詢方式轉(zhuǎn)至申請(qǐng)中斷的優(yōu)先權(quán)最高的源的中斷服 務(wù)程序。 解: 若5個(gè)中斷源的中斷請(qǐng)求放在一中斷狀態(tài)寄存器中,按優(yōu)先權(quán)分別放在狀態(tài)的7 位(優(yōu)先權(quán)最高)至位3中。查詢方法的程序段為: in al, status cmp al, 80h jne n1 jmp 3000h n1: in al, status cmp al, 40h jne n2 jmp 3020h n2: in al, status cmp al, 20h jne n3 jmp 3050h n3:
32、in al, status cmp al, 10h jne n4 jmp 3080h n4: in al, status cmp al, 08h jne n5 jmp 30a0h n5: ret 第9章 作 業(yè) 答 案 9.3在某一應(yīng)用系統(tǒng)中,計(jì)數(shù)器/定時(shí)器8253地址為340h343h,定時(shí)用作分頻器(n 為分頻系數(shù)),定時(shí)器2用作外部事件計(jì)數(shù)器,如何編制初始化程序? 解: 定時(shí)器0用作分頻器,工作方式2,其初始化程序?yàn)椋?mov al, 34h out 343h, al mov al, n1 out 342h, al mov al, n2 out 342h, al 定時(shí)器2用作外部事件計(jì)數(shù)
33、器,工作在方式0,其初始程序: mov al, 0b0h out 343h,al mov al, n1 out 342h,al mov al, n2 out 342h,al 9.4若已有一頻率發(fā)生器,其頻率為1mhz,若要示求通過(guò)計(jì)數(shù)器/定時(shí)器8253,著重 產(chǎn)生每秒一次的信號(hào),8253應(yīng)如何連接?編寫出初始化程序。 解: 1mhz的信號(hào)要變?yōu)槊棵胍淮?,則需經(jīng)過(guò)106分頻。一個(gè)通道的計(jì)數(shù)為16位最 大為65536。故需要需兩個(gè)通道級(jí)連,則每個(gè)通道計(jì)數(shù)為1000。用通道0和通道1級(jí)連, 都工作在方式2,初始化程序?yàn)椋?mov al, 34h out 343h, al mov al, 0e8h o
34、ut 342h, al mov al, 03 out 342h, al mov al, 74h out 343h, al mov al, 0e8h out 342h, al mov al, 03 out 342h, al 9.9編程將計(jì)數(shù)器/定時(shí)器8253計(jì)數(shù)器0設(shè)置為模式1,計(jì)數(shù)初值3000h;計(jì)數(shù)器1設(shè)置 為模式2初值為2010h;計(jì)數(shù)器2設(shè)置為模式4初值為4030h; 解:若端口地址為:0f8h0fbh,初始化程序?yàn)椋?mov al, 32h out 0fbh, al mov al, 00h out 0f8h, al mov al, 30h out 0f8h, al mov al, 74
35、h out 0fbh, al mov al, 10h out 0f9h, al mov al, 20h out 0f9h, al mov al, 0b8h out 0fbh, al mov al, 30h out 0fah, al mov al, 40h out 0fah, al 第10 章 作 業(yè) 答 案 10.4可編程并行接口芯片8255a的3個(gè)端口在使用時(shí)有什么差別? 解:通常端口a或b作為輸入輸出的數(shù)據(jù)端口(端口a還可以作為雙向數(shù)據(jù)端口), 而端口c作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成兩個(gè)4位的端 口。每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口a和b配合使用,可用以作
36、為控制 信號(hào)輸出,或作為狀態(tài)信號(hào)輸入。 10.7 8255a有哪幾種基本工作方式?對(duì)這些工作方式有什么規(guī)定? 解:8255a有3種基本的工作方式: 方式0-基本輸入輸出: 方式1-選通輸入輸出; 方式2-雙向傳送。 10.8設(shè)置8255a工作方式,8255a的控制口地址為ooc6h。要求端口a工作在方式1,輸 入;端口b工作在方式0,輸出;端口c的高4位配合端口a工作;低4位為輸入。 解:按要求的方式控制字為:10111001b。編程語(yǔ)句為: moval, 0b9h outooc6h, al; 10.9設(shè)可編程并行接口芯片8255a的4個(gè)端口地址為oocoh、00c2h、00c4h、ooc6h
37、, 要求用置0/置1方式對(duì)pc6置1,對(duì)pc4置0。 解:對(duì)端口c的pc6置1的控制字為: 00001101b, 對(duì)pc4置o的控制字為: 0000100ob。 程序段為: mov al, dh out ooc6h, al mov al, 08h. out00c6h, alacknowledgements my deepest gratitude goes first and foremost to professor aaa , my supervisor, for her constant encouragement and guidance. she has walked me thro
38、ugh all the stages of the writing of this thesis. without her consistent and illuminating instruction, this thesis could not havereached its present form. second, i would like to express my heartfelt gratitude to professor aaa, who led me into the world of translation. i am also greatly indebted to the professors and teachers at the department of english: professor dddd, professor ssss, who have instructed and helped me a lot
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美發(fā)店員工福利保障合同4篇
- 2025年度祠堂文化教育培訓(xùn)與推廣承包合同3篇
- 2025年地臺(tái)成型合同
- 二零二五年車輛抵押車輛租賃擔(dān)保合同2篇
- 二零二五年度住宅小區(qū)車位租賃合同書范本2篇
- 二零二五年度礦產(chǎn)資源承包經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同范本4篇
- 二零二五年度民爆物品安全使用與維護(hù)服務(wù)合同4篇
- 【課件】房地產(chǎn)標(biāo)桿企業(yè)研究(經(jīng)營(yíng)管理模式):萬(wàn)科、合生創(chuàng)展、保利
- 二零二五年度模特個(gè)人品牌推廣合同8篇
- 《英文時(shí)間表達(dá)法》課件
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 小學(xué)道德與法治學(xué)科高級(jí)(一級(jí))教師職稱考試試題(有答案)
- 申請(qǐng)使用物業(yè)專項(xiàng)維修資金征求業(yè)主意見(jiàn)表
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 實(shí)用性閱讀與交流任務(wù)群設(shè)計(jì)思路與教學(xué)建議
- 應(yīng)急柜檢查表
- 通風(fēng)設(shè)施標(biāo)準(zhǔn)
- 酒店市場(chǎng)營(yíng)銷教案
- 房屋買賣合同簡(jiǎn)單范本 房屋買賣合同簡(jiǎn)易范本
- 無(wú)抽搐電休克治療規(guī)范
- 環(huán)保有限公司營(yíng)銷策劃方案
評(píng)論
0/150
提交評(píng)論