微型計(jì)算機(jī)原理應(yīng)用第四版答案_第1頁
微型計(jì)算機(jī)原理應(yīng)用第四版答案_第2頁
微型計(jì)算機(jī)原理應(yīng)用第四版答案_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、習(xí)題將以下二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)和十六進(jìn)制。111012=13=DH2110102=26=1AH31101002=52=34H 42=169=A9H 要點(diǎn):從低位起,按每 4 位將對(duì)應(yīng)二進(jìn)制轉(zhuǎn)換成十六進(jìn)制。而不是通過十進(jìn)制轉(zhuǎn)換 見上。簡述 3 個(gè)門電路的根本元素在電路中對(duì)電平上下的作用。 答:與、或、非。布爾代數(shù)有哪兩個(gè)特點(diǎn)?答: 1值只有兩個(gè);2只有與、或、反 3 種運(yùn)算。布爾代數(shù)的“或運(yùn)算結(jié)果可用哪兩句話來歸納?其“與運(yùn)算又可歸納成哪兩 句話“答: 1“或運(yùn)算運(yùn)算結(jié)果為有一真必為真,兩者皆假才為假。 2“與運(yùn)算有一假即為假,兩者皆真才為真。什么叫原碼、反碼及補(bǔ)碼? 答:原碼就是一個(gè)數(shù)的機(jī)器

2、數(shù)。 反碼:將原碼每位取反,即為反碼。 更準(zhǔn)確的是:正數(shù)的反碼就等于它的原碼; 負(fù)數(shù)的反碼就是它的原碼除符號(hào)位外,各位取反。 補(bǔ)碼:反碼加 1 就是補(bǔ)碼。更準(zhǔn)確的是:正數(shù)的補(bǔ)碼就等于它的原碼;負(fù)數(shù)的補(bǔ)碼就是它的反碼加 1。例: X1=100 1001X2=100 1001那么:X1 原 = 0100 1001X1 反 = 0100 1001X1 補(bǔ)= 0100 1001X2 原 = 1100 1001X2 反 = 1011 0110X2 補(bǔ) = X2 反+1= 1011 0111 為什么需要半加器和全加器,它們之間的主要區(qū)別是什么? 答: 1因?yàn)榧臃ǖ牡谝晃粵]有進(jìn)位,所以用半加器即可;而第二位

3、起可能有進(jìn) 位,故需要考慮全加器;2兩者的區(qū)別是半加器為雙入雙出,全加器為三入雙出。 用補(bǔ)碼法寫出以下減法的步驟:111112-10102=?2=?10答:21 兩 答:按第實(shí)吉4旦苗2研=?個(gè)數(shù)與第二個(gè)數(shù)的補(bǔ)碼相加。一個(gè)數(shù)的正規(guī)方法做。其原碼為1111域二個(gè)數(shù)為原碼 1011:其機(jī)第二個(gè)數(shù)的原5為:即機(jī)器碼反碼為 10001,,其補(bǔ)碼為:0110兩者相加I曲第一個(gè)1110,其補(bǔ)碼為,兩個(gè)數(shù)的補(bǔ)碼相力011即為:01100反碼為101011將最高位的進(jìn)位1刪去,得結(jié)果為10101,即為5 10 按最正規(guī)的方法做如下: 為第一個(gè)是正數(shù),補(bǔ)碼與原碼都為 陽羽狗;+011110,2的門電路圖并求其相

4、加的結(jié)果。目加結(jié)果為:是負(fù)數(shù)10原碼為11010,反碼為10101,補(bǔ)碼為10101+0=彳0彳00第一個(gè)數(shù)與第二個(gè)數(shù)的補(bǔ)碼相加,即為:,|0這是按書上的簡單做法 將最高做出孫個(gè)數(shù)屬于帶 20得符號(hào)(2)。注:相加時(shí)不去掉最高位的進(jìn)位得結(jié)果為1001001門電路圖略去。做出第題中兩數(shù)相減的門電路圖并求其相減的結(jié)果。答:假設(shè)為那么第一個(gè)數(shù)為正數(shù),其補(bǔ)碼=原碼=0101011;第二個(gè)數(shù)為負(fù)數(shù),其原碼為1011110,反碼為1100001,補(bǔ)碼=反碼+1=1100001+1=1100010兩個(gè)數(shù)的補(bǔ)碼相加為:0101011+ 1100010 =1 0001101去掉最高位的進(jìn)位1,得結(jié)果為00011

5、01,即為131。例 2:+0 反=00000000-0反即:數(shù)0的反碼也不是唯一的。第2章習(xí)題觸發(fā)器、存放器及存儲(chǔ)器之間有什么關(guān)系?請(qǐng)畫出這幾種器件的符號(hào)。答:觸發(fā)器是存放一位二進(jìn)制數(shù)字信號(hào)的根本單元。觸發(fā)器是計(jì)算機(jī)的記憶裝置的 根本單元,也可以說是記憶細(xì)胞。觸發(fā)器可以組成存放器,存放器又可以組成存儲(chǔ) 器。存放器和存儲(chǔ)器統(tǒng)稱為計(jì)算機(jī)的記憶裝置。2其符號(hào)分別表示如下:累加器有何用處?畫出其符號(hào)。答:累加器作為ALU運(yùn)算過程的代數(shù)和的臨時(shí)存 三態(tài)輸出電路有何意義?其符號(hào)如何畫衲耳XL曲1 蠶1儲(chǔ)處。Tffl Jniw答:三態(tài)輸出電路使得一條信號(hào)傳輸線既能與一個(gè)觸發(fā)器接通,也可以與其斷開而 與另外

6、一個(gè)觸發(fā)器接通,從而使得一條信號(hào)線可以傳輸多個(gè)觸發(fā)器的信息。何謂L門及E門?它們?cè)诳偩€結(jié)構(gòu)中有何用處?答: 1L 門:高電平時(shí)使數(shù)據(jù)裝入、低電平時(shí)數(shù)據(jù)自鎖其中的電路;E門:E門即三態(tài)門,中選通端E門為高電平時(shí),可將信息從 A端送到B端。2L門專管對(duì)存放器的裝入數(shù)據(jù)的控制,而 E門志管由存放器輸出數(shù)據(jù)的控制。 控制字是什么意義?試舉個(gè)例子說明。答:1控制字CON各各個(gè)存放器的L門和E門的按次序排成一列,并且為了避 免住處在公共總線中亂竄,規(guī)定在某一時(shí)鐘節(jié)拍,只有一個(gè)存放器的 L 門為高電平, 一個(gè)存放器的E門為高電平,從而保證了 E門為高電平的存放器的數(shù)據(jù)流入到 L門 為高電平的存放器中去。2略

7、去,詳見教材 P31 的表 2-3ROM和RAM各有何特點(diǎn)與用處?答:ROM是只讀存儲(chǔ)器,是用以存放固定程序的存儲(chǔ)器,一旦程序放進(jìn)去之后,就 不能再改變。也不能再寫入新的字節(jié),而只能讀出其中所存儲(chǔ)的內(nèi)容;RAM是隨機(jī)存儲(chǔ)器又稱讀/寫存儲(chǔ)器,它與ROM勺區(qū)別在于它不但能讀出存放在 其中各個(gè)存儲(chǔ)單元的數(shù)據(jù),而且能夠隨時(shí)寫進(jìn)新的數(shù)據(jù),或者改變?cè)袛?shù)據(jù)。為什么要建立“地址這個(gè)概念? 答:因?yàn)橐粋€(gè)存儲(chǔ)器可以包含數(shù)以千計(jì)的存儲(chǔ)單元,可以存儲(chǔ)很多數(shù)據(jù),為了便于 存入和取出,需要對(duì)每個(gè)存儲(chǔ)單元確定一個(gè)固定地址。譯碼器有何用處? 答:譯碼器用來確定存儲(chǔ)單元的地址。地址譯碼器常用于計(jì)算機(jī)中對(duì)存儲(chǔ)單元地址 的譯碼,

8、即將一個(gè)地址代碼轉(zhuǎn)換成一個(gè)有效信號(hào),從而選中對(duì)應(yīng)的單元。存儲(chǔ)地址存放器MAR和存儲(chǔ)數(shù)據(jù)存放器MDR各有何用處?答:MAR各所要尋找的存儲(chǔ)單元的地址暫存下來,以備下一條指令之用。MDR1將要寫入RAM中去的數(shù)據(jù)暫存起來,以等待控制器發(fā)出指令再將數(shù)據(jù)寫入 RAM中 去。P33 2 , 4, 5, 6, 7, 8, 9, 11, 12第 3 章習(xí)題略去程序計(jì)數(shù)器PC的內(nèi)容是什么意義?答:程序計(jì)數(shù)器PC存儲(chǔ)的內(nèi)容是指令的地址碼。每次運(yùn)行指令前,先復(fù)位到0,每取出執(zhí)行一條指令,PC加 1.指令存放器IR從PROI接收到指令字8位后的運(yùn)行過程如何?起什么作用?答:1指令存放器IR從PROM接收到指令字后,

9、就立即將其高 4位送到控制部 件。2控制部件經(jīng)過分析后就發(fā)出控制指令,將 IR 的低 4位數(shù)送到存儲(chǔ)地址存放器 MAR MAF將此低4位數(shù)作為地址并用于訪問 PROM 故第1次訪問PRO啲是其指令區(qū),第2次訪問的是其數(shù)據(jù)區(qū)。略環(huán)形計(jì)數(shù)器有何用處?什么叫環(huán)形字?答: 1環(huán)形計(jì)數(shù)器用來發(fā)出順序控制信號(hào)即用來發(fā)出環(huán)形字,從而產(chǎn)生機(jī) 器節(jié)拍。2環(huán)形字是其6位輸出端依次輪流為高電平,并且是在最位一位左邊第1位置1后又回到右邊第1位,從而形成環(huán)形置位。什么叫例行程序?什么叫機(jī)器周期、取指周期和執(zhí)行周期?本章簡化式計(jì)算機(jī)的 機(jī)器周期包括幾個(gè)時(shí)鐘周期機(jī)器節(jié)拍?機(jī)器周期是否一定是固定不變的? 答:1例行程序:由

10、廠家編好的執(zhí)行每個(gè)程序在本章中即為每條指令所需 要的機(jī)器節(jié)拍3個(gè),見P492機(jī)器周期:執(zhí)行一條指令的時(shí)間。3取指周期:取一條指令所需的3個(gè)機(jī)器節(jié)拍。4 執(zhí)行周期:執(zhí)行一條指令所需的機(jī)器節(jié)拍一般也為3個(gè)機(jī)器節(jié)拍5本章簡化式計(jì)算機(jī)的機(jī)器周期包括 6個(gè)機(jī)器節(jié)拍。 補(bǔ)充:機(jī)器節(jié)拍:即一個(gè)時(shí)鐘周期時(shí)鐘一個(gè)高電平 +一 個(gè)低電平6不一定。只不過固定了在6個(gè)節(jié)拍完成一個(gè)機(jī)器周期的計(jì)算機(jī)被稱為固定周 期的計(jì)算機(jī)??刂撇考男┲饕h(huán)節(jié)?各有何用處?答:1控制部件包括環(huán)形計(jì)數(shù)器、指令譯碼器、控制矩陣和其他控制電路。2環(huán)形計(jì)數(shù)器用來產(chǎn)生環(huán)形字,從而產(chǎn)生機(jī)器節(jié)拍; 指令譯碼器:將高四位組成的編碼信息譯成某一控制線

11、為高電位。 控制矩陣:用來產(chǎn)生控制字CON即產(chǎn)生所有控制信號(hào)。 其他控制電路包含時(shí)鐘脈沖發(fā)生器、運(yùn)行 /停車觸發(fā)器、“啟動(dòng)和“去除按鈕。其作用見P54.子程序計(jì)數(shù)器有何用處? 答:也是用來作為一個(gè)程序計(jì)數(shù)器的。略去指令存放器IR是如何將其指令字段和地址字段分送出去的?這兩個(gè)字段的位數(shù)是 否保持不變?答:1指令存放器IR將8位指令字的高4位作為指令字段送到控制部件,而將 低4位做為地址字段通過總線送到存儲(chǔ)地址存放器 MAF中去。2 對(duì),保持不變。這由制造廠家確定。第4章習(xí)題8086CPU與8088CPUt哪些相同之處?又有哪些區(qū)別?答:兩者的內(nèi)部結(jié)構(gòu)根本相同,內(nèi)部都采用16位字進(jìn)行操作及存儲(chǔ)器尋

12、址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同,兩種處理器都封裝在相同的40腳雙列直插組件DIP中。但它們的外部性能有區(qū)別。8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處 理一個(gè)16位數(shù)據(jù)字時(shí),8088需要兩步操作而8086只需要一步。8086 CPU從功能上分為幾局部?各局部由什么組成?各局部的功能是什么? 答:8086CPU從功能上分為總線接口局部 BIU和執(zhí)行部件EU兩局部。其中總線接口局部的功能是負(fù)責(zé)與存儲(chǔ)器、I/O端口傳送數(shù)據(jù),即BIU管理在存儲(chǔ) 器中存取程序和數(shù)據(jù)的實(shí)際處理過程。執(zhí)行部件EU的功能負(fù)責(zé)指令的執(zhí)行。將指令譯碼并利用內(nèi)部的存放器和ALU對(duì)數(shù)據(jù)進(jìn)行所需的處理。BI

13、U由4個(gè)段存放器CS ES DS SS、16位指令指針存放器IP、20位的地址 加法器和6字節(jié)的指令隊(duì)列組成。EU由4個(gè)通過存放器AX BX CX DXJ、4個(gè)專用存放器SI、DI、SP BP、 標(biāo)志存放器FR算術(shù)邏輯部件ALU組成。8086 CPU有哪些存放器組成?各有什么用途?標(biāo)志存放器的各標(biāo)志位在什么情況下置位?答:8086 CPU由4個(gè)通用存放器AX BX CX DX、4個(gè)專用存放器SI、DI、SP BF、標(biāo)志存放器FR組成,共9個(gè)存放器。4個(gè)通用存放器既可作為16位存放器用,也可作為8位存放器使用。其中AX存放 器也常稱為累加器。其它存放器的用途見教材。標(biāo)志存放器有6個(gè)狀態(tài)標(biāo)志SF、

14、ZF、PF、CF AF、OF和3個(gè)控制標(biāo)志位DF IF、TF。其具體置位見P75的表4-1.8086系統(tǒng)中的物理地址是如何得到的?假設(shè) CS=2000H IP=2100H其物理地址應(yīng)是 多少?答:8086系統(tǒng)中的物理地址是通過 BIU中的20位地址加法器得到的。物理地址計(jì)算公式為CS段地址*16 即二進(jìn)制左移4位,或者十六進(jìn)制左移1位 +IP偏移地址。按計(jì)算公式,此題中的物理地址為 20000H+2100H=22100H什么叫總線周期? 8086CPU勺一個(gè)總線周期包括多少時(shí)鐘周期,什么情況下要插入 Tw等待周期?插入多少個(gè)Tw取決于什么因素?答:總線周期是CPU或其他總線控制設(shè)備訪問一次存儲(chǔ)

15、器或I/O端口所需的時(shí)間。 在總線周期中需要利用總路線。補(bǔ)充:指令周期:指令周期是機(jī)器執(zhí)行一條指令所需的時(shí)間。8086CPU勺一個(gè)標(biāo)準(zhǔn)總線周期包括4個(gè)時(shí)鐘周期。當(dāng)4個(gè)時(shí)鐘周期不能完成所規(guī)定 的操作時(shí),可以插入一個(gè)或多個(gè)等待時(shí)鐘周期 Two插入多少個(gè)TW取決于所訪問的存儲(chǔ)器或者I/O設(shè)備是否準(zhǔn)備就緒,此信號(hào)由引腳 READ發(fā)出。什么是最大模式?什么是最小模式?用什么方法將8086/8088置為最大模式和最小模式?答:所謂最小模式,就是在系統(tǒng)中只有 8086/8088 一個(gè)微處理器。最大模式中,飲包含兩個(gè)或多個(gè)微處理器,其中主處理器是8086/8088,其他處理器是協(xié)處理器如數(shù)值運(yùn)算協(xié)處理器 80

16、87,輸入/輸出協(xié)處理器8089。用硬件方法來決定8086/8088的工作模式,具體是通過引腳 MN/MX控制信號(hào)引腳 來決定,其接+5伏,那么為最小模式,接地為最大模式。什么是地址鎖存器? 8086/8088系統(tǒng)中為什么要用地址鎖存器?鎖存的是什么信息? 答:1地址鎖存器就是一個(gè)存放器,它根據(jù)控制信號(hào)的狀態(tài),將總線上的地址代碼 暫存起來,即用于“鎖定一個(gè)系列數(shù)字狀態(tài)的電路。簡答:地址鎖存器是用來鎖存 / 保存地址的一個(gè)存放器即一個(gè)普通的時(shí)序電路, 是觸發(fā)器的原始形式。目的是某次傳送數(shù)據(jù)并不能一次完成所以鎖存地址以免 CPU 重復(fù)的傳送一個(gè)地址。原理:CPI送地址到鎖存器8282/8283之后

17、,內(nèi)存在地址鎖存器中找地址,而不是向CPU要地址。2因?yàn)?8060/8088 系統(tǒng)采用的是地址 / 數(shù)據(jù)分時(shí)復(fù)用總線,即用同一總線傳輸數(shù) 據(jù)又傳輸?shù)刂?,?dāng)微處理器與存儲(chǔ)器或10交換信號(hào)時(shí),首先由CPU發(fā)出存儲(chǔ)器地 址,同時(shí)發(fā)出允許鎖存ALE給鎖存器,當(dāng)鎖存器接到該信號(hào)后將地址/數(shù)據(jù)總線上 的地址鎖存在總線上,隨后才能傳輸數(shù)據(jù)。個(gè)人理解:因?yàn)樵诳偩€周期的前半局部,CPU總是送出地址信號(hào)和BHE總線高允許信號(hào),為了通知地址已經(jīng)準(zhǔn)備好了,可以被所鎖存,CPU會(huì)送出高電平允許鎖存信號(hào)ALE此時(shí)地址信號(hào)和BHE信號(hào)被鎖存。由于有了鎖存器對(duì)地址信號(hào)和BHE信號(hào)的鎖存,CPU在總線周期的后半局部,地址和數(shù)據(jù)

18、都在總線上,確保了CPU對(duì)鎖存器和 I/0 接口的讀 / 寫操作。3鎖存的是復(fù)用總線上的地址信息。8086/8088 系統(tǒng)中的 8286是什么器件?起什么作用?答: 1 8286是總線驅(qū)動(dòng)器又稱總線收發(fā)器,雙向數(shù)據(jù)緩沖器。 2在一個(gè)系統(tǒng)所含的外設(shè)接口較多時(shí),它用來增加數(shù)據(jù)總線的驅(qū)動(dòng)能力。8086/8088系統(tǒng)中用時(shí)鐘發(fā)生器8284A產(chǎn)生哪些信號(hào)?答:8284A產(chǎn)生恒定的時(shí)鐘信號(hào)、準(zhǔn)備信號(hào)READ及復(fù)位信號(hào)RESET。8086 最根本的操作是什么?答:是總線操作8086/8088 系統(tǒng)中引入了哪些中斷?是如何引入的?答: 8086共有 256種類型的中斷。從產(chǎn)生中斷的方法,可以將其分為硬件中斷和

19、軟 件中斷兩大類,硬件中斷中的非屏蔽中斷是通過CPU的NMI引腳進(jìn)入的,可屏蔽中斷是通過CPU的INTR引腳進(jìn)入的,并且只有當(dāng)中斷允許標(biāo)志IF為1時(shí),非屏蔽中 斷才能進(jìn)入。軟件中斷是CPU根據(jù)軟件中的某條指令或者軟件對(duì)標(biāo)志存放器中某個(gè)標(biāo)志的設(shè)置而 產(chǎn)生的。什么是可屏蔽中斷?什么是非屏蔽中斷?可屏蔽中斷是指受中斷標(biāo)志IF屏蔽的中斷,由INTR引腳進(jìn)入。非屏蔽中斷是不受中斷標(biāo)志IF屏蔽的中斷,由NMI引腳進(jìn)入。什么是中斷向量?中斷向量表指的是什么?中斷向量表放在什么地方?答: 1中斷向量是中斷處理子程序的入口地址,每個(gè)中斷類型對(duì)應(yīng)一個(gè)中斷向 量。2中斷向量表是指在 8086/8088 微機(jī)系統(tǒng)的內(nèi)

20、存中,專門留出的 0 段的000003FH區(qū)域,用于存放所有的256個(gè)中斷向量。3中斷向量表放在 0段的000003FH區(qū)域。假設(shè)中斷類型為 8,它的中斷效勞入口地址是多少?答:中斷類型8*4=32,即十六進(jìn)制20H,所以其中斷效勞入口地址為 20H.第 5 章習(xí)題 分別指出以下指令中的源操作數(shù)和目的操作數(shù)的尋址方式:1MOV SI, 200 ;源操作數(shù)為立即數(shù)尋址2MOV CX, DATASI ;源操作數(shù)為3 ADD AX, BXDI;源操作數(shù)為基址加變址的存放器間接尋址4 AND AX, BX源操作數(shù)為存放器尋址5 MOV SI, AX;源操作數(shù)為存放器尋址6 PUSHF ;為存放器尋址對(duì)

21、于目的操作數(shù),前 4 小題均為存放器尋址, 5題為存放器間接尋址。試述指令 MOV AX, 2021H 和 MOV AX, DS:2021H的區(qū)別中。答:前者為將十六進(jìn)制數(shù)2021H送到存放器AX中去;后者為將數(shù)據(jù)段DS中偏移地址為2021H 2021H兩單元中的內(nèi)容送到 AX中去 寫出以下指令中內(nèi)存操作數(shù)的所在地址。1MOV AL, BX+5答:源操作數(shù)的地址為BX+5,默認(rèn)段存放器為數(shù)據(jù)段存放器 DS又因BX為基址 存放器,所以尋址方式為數(shù)據(jù)段相對(duì)基址尋址;2MOV BP+5, AX答:目的操作數(shù)的地址為BP+5,默認(rèn)段存放器為堆棧段存放器 SS又因BP為基 址存放器,所以尋址方式為堆棧段

22、相對(duì)基址尋址;3INC BYTE PTR SI+3答:此句意思為將SI+3所指的存儲(chǔ)單元的內(nèi)容加1; PTR的意義是定義其后的內(nèi)容 變量的新類型為字節(jié)屬性,具體用法見第 7章 P159.內(nèi)存操作數(shù)的地址為 SI+3 ,屬于相對(duì)變址尋址;4MOV DL, ES: BX+DI 答:源操作數(shù)為附加段基址加變址的尋址方式;5MOV BX, BX+SI+2答:源操作數(shù)的內(nèi)存地址為 BX+SI+2 ,屬于數(shù)據(jù)段相對(duì)基址加變址尋址。判斷以下指令書寫是否正確:1MOV AL, BX答:不對(duì),一個(gè) 8 位,一個(gè) 16 位;2MOV AL,CL答:正確3INC BX答:正確4MOV 5, AL 答:不對(duì),目的操作

23、數(shù)不能是立即數(shù)。5MOV BX, SI 答:不對(duì),兩個(gè)存儲(chǔ)單元之間不能直接傳送數(shù)據(jù);6MOV BL, F5H答:正確(7) MOV DX, 2000H答:正確(8) POP CS答:不對(duì),段存放器CS和立即數(shù)都不能作目的操作數(shù)(9) PUSH CS答:正確。注:本局部可以用DEBUGS的-a指令進(jìn)行調(diào)試以確認(rèn)指令是否正確設(shè)堆棧指針SP的初值為2000H, AX=3000H BX=5000H試問:(1) 執(zhí)行指令PUSH AX后SP=?答:執(zhí)行PUSH指令時(shí),棧頂指針SP自動(dòng)減2,所以SP=2000H-2= 1FFE H(2) 再執(zhí)行 PUSH BX及 POP AX后 SP=? AX=? BX=

24、?答:執(zhí)行 PUSH BX 后 SP=1FFE H- 2;再執(zhí)行 POP AX后 SP= (1FEE H-2)+2=1FFE H;此時(shí)AX中的內(nèi)容為原BX中的內(nèi)容,故 AX=5000H而BX中的內(nèi)容沒有改動(dòng),即還是5000H.要想完成把2000H送1000H中,用指令:MOV 1000H, 2000H是否正確?如果不正確,應(yīng)用什么方法?答:不正確,因?yàn)閮蓚€(gè)存儲(chǔ)單元之間不能直接傳送數(shù)據(jù)??梢愿臑椋篗OV AX, 2000HMOV 1000H, AX假設(shè)想從100中減去AL中的內(nèi)容,用SUB 10Q AL是否正確?如果不正確,應(yīng)用 什么方法?答:不正確,因?yàn)榱⒓磾?shù)不能做為目的操作數(shù)。可以改為:MO

25、V BL, 5AH ; 100的16進(jìn)制數(shù)表達(dá)式為 5AHSUB BL, AL用兩種方法寫出從88H端口讀入信息的指令。再用兩種方法寫出從 42H 口輸出100H的指令。答:法一:IN AL, 88H;法二:MOV DL, 88HIN AL, DL(2)法一:MOV AX, 0100HOUT 42H, AX; 將AX中的內(nèi)容輸出到 42H 43H兩端口中,其中00H送42H端口中,01H送到43H端口中法二:MOV AX,0100HMOV DX, 42HOUT DX, AX假設(shè)AL=20H BL=10H當(dāng)執(zhí)行CMP AL BL后,問:(1) 假設(shè)AL、BL中內(nèi)容是兩個(gè)無符號(hào)數(shù),比擬結(jié)果如何?影

26、響哪幾個(gè)標(biāo)志位?答:對(duì)無符號(hào)數(shù),執(zhí)行CMPf影響CF、ZF位。故執(zhí)行后標(biāo)志為第一個(gè)數(shù)乘靂:聽0;2 0000(2) 假設(shè)AL、第L二個(gè)容是兩個(gè)有符號(hào)數(shù),0結(jié)果又如何?影響哪幾個(gè)標(biāo)志位?0001 0000AHh 0?答:對(duì)有符號(hào)數(shù),執(zhí)行CMP旨令后影響ZF和OF標(biāo)志位,不影響CF位。BEGIN :IN AL, 5FHTEST AL, 80HJZBRCHlMOV AH,0JMP STOPBRCHl :MOV AH , 0FFHSTOP :HLT解答:AL中的最高位為1 時(shí)。讀程序:START:INAL, 20HMOV BL, ALIN AL, 30HMOV CL, ALMOV AX,0ADLOP:

27、ADDAL , BLADC AH,0DECJNZCLADLOP執(zhí)行后標(biāo)志位分別為 ZF=0;OF=0第 6 章習(xí)題讀下面程序段,請(qǐng)問:在什么情況下,本段程序的執(zhí)行結(jié)果是HLT請(qǐng)問: (1) 本程序?qū)崿F(xiàn)什么功能 ? (2) 結(jié)果在哪里 ?解答:完成20H*30H結(jié)果在AX中。請(qǐng)編一程序段完成AX*10的任務(wù)(要求不準(zhǔn)用乘法指令做)答: MOV BX,AXMOV CL 2SHL AX, CL ;此句實(shí)現(xiàn)了 AX=AX*4ADD AX,BX ;此句使得 AX=5AXSHL AX ,1;此句實(shí)現(xiàn)了 5AX*2=10AX法二: MOV BX,AXMOV CL, 4SHL AX,CLSHL BX,1ADD

28、 AX,BX編程序使:(1) AX 存放器低 4 位清零。(2) BX 存放器低 4位置“1。(3) CX 存放器低 4 位變反。 用TEST指令測(cè)試DL存放器位3、位6是否同時(shí)為0,假設(shè)是,將0送DL;否 那么 l 送 DH。解答 : (1) AND AX ,0FFF0H(2) OR BX ,000FH(3) XOR CX ,000FH 或者NOT CX(但這樣 CX的高4位也會(huì)變反) ( 4) TEST DL ,48HJZ LOOPMOV DH,1HLTLOOP :MOV DL ,0HLT編一程序段,完成符號(hào)函數(shù)(-128 x0)y= 0(x=0)-1(x0)假設(shè)x的值存放在DATAI中,

29、y的值存放在DATA沖解答:START :MOV AL ,DATA1AND AL,ALJGE BIGRMOV AL,81H ;即將-1 給 ALMOV DATA2, ALHLTBIGR:JE EQUL;結(jié)果為 0,轉(zhuǎn) EQULMOV AL,1MOV DATA2,ALHLTEQUL: MOV AL ,OMOV DATA2,ALHLT設(shè)AX存放器中有一個(gè)16位二進(jìn)制數(shù),編一程序,統(tǒng)計(jì) AX中“ I的個(gè)數(shù),統(tǒng)計(jì) 結(jié)果送CX中。;CX清零也可用XOR CX ex實(shí)現(xiàn);CF清零;此句也可用CMP AX,O替代解答:START : MOV CX ,0LOOP1: CLCSUB AX,0;此句也可用SHL

30、AX,1替代JZ STPSAL AX,1JNC NODINC CXNOD: JMP LOOP1STP: HLT6 . 7編一子程序利用XLAT指令把十六進(jìn)制數(shù)轉(zhuǎn)換成 ASCII碼。假設(shè)ASCII碼存 放在以DAT1為首地址的數(shù)據(jù)區(qū)中,對(duì)應(yīng)的16進(jìn)制數(shù)放在以DAT2為首地址的數(shù)據(jù) 區(qū)中,轉(zhuǎn)換結(jié)果送以DAT3為首地址的數(shù)據(jù)區(qū)中。解答:SUBPROC PROCSUBPROC :PUSH BXPUSH SIPUSH DIPUSH CXPUSH ALPUSH DSSTART:MOV BX,DATA1 ;將首地址 DAT1送到BX中,作為表的首地址MOV SI ,DAT2MOV DI DAT3MOV CX

31、 ,16NEST:LODSB;讀字節(jié)串,從地址為 SI的RAM讀16進(jìn)制數(shù)到AX/ALXLAT ;用換碼指令XLAT將 AX/AL中的16進(jìn)制數(shù)轉(zhuǎn)換成;對(duì)應(yīng)的 ASCII 碼ASCII 碼送STOSB;寫字節(jié)串,從AX/AL寫到RAM即將轉(zhuǎn)換成的;到目標(biāo)地址 DI 處增1LOOP NEST ; CX =0,就轉(zhuǎn)向NEST SI與DI都會(huì)自動(dòng)POP DSPOP ALPOP CXPOP DIPOP SIPOP BXRETSUBPROC ENDP此題重點(diǎn):1所有的串操作指令,如LODSB, STOS等都用存放器SI對(duì)源操作 數(shù)進(jìn)行間接尋址;都用存放器 DI 為目的操作數(shù)進(jìn)行間接尋址。 2在每次循環(huán)后

32、,地址指針 SI 和 DI 都會(huì)受到修改;3XLAT指令的用法,見教材P118,用BX給定首地址,用AL/AX給定偏移地址, 再用XLAT指令轉(zhuǎn)換。第 7 章習(xí)題 假設(shè)學(xué)生某門課程的成績放在數(shù)據(jù)區(qū)中,請(qǐng)編一程序,統(tǒng)計(jì)該成績中小于 60分的 人數(shù), 6090分的人數(shù),大于 90分的人數(shù),并顯示在屏幕上。答:分析:假設(shè)學(xué)生成績放在以 DATA偽首地址的數(shù)據(jù)區(qū)中。DATASEG SEGMENT DATA1 DB 100 DUP ? STRING1 DB The student number of grade is bigger than 90 STRING2 DB The student numbe

33、r of grade is between60 and 90 STRING3 DB The student number of grade is lessthan 90 DATASEG ENDSSS1 SEGEMENT STACK DW 30 DUP?SS1 ENDSCODE SEGMENTASSUME CS: CODE, DS:DATASEG, SS:SS1 START: MOV AX, DATASEGMOV DS, AXMOV SI, OFFSET DATA1MOV CL, 100(D); 將學(xué)生人數(shù) 100 賦給 CLXOR BX, BXXOR AX, AXXOR DX, DXA1:L1

34、:L1:A2:MOV AX, SICMP AX, 90(D)JA L1CMP AX, 60(D)JAE L2INC CH ;用CH保存小于60的人數(shù)JUMP A2INC BH;用BH保存大于90的人數(shù)JUMP A2INC BL; 用 BL保存60至U 90的人數(shù)JUMP A2INC SILOOP A1 在屏幕上輸出各類人數(shù)MOV DX, OFFSET STRING1MOV AH, 9INT 21HMOV DL, CHMOV AH, 2INT 21H 輸出 60-90 的學(xué)生人數(shù)MOV DX, OFFSET STRING2MOV AH, 9MOV DL, BLMOV AH, 2INT 21H 輸

35、出小于 60 的學(xué)生人數(shù)MOV DX, OFFSET STRING3MOV AH, 9MOV DL, BHMOV AH, 2INT 21H 程序完成,返回操作系統(tǒng),結(jié)束MOV AH, 4CHINT 21HCODE ENDSEND START第八章習(xí)題編一初始化程序,使8255A的PG端輸出一個(gè)負(fù)跳變。如果要求 PG端輸出一個(gè)負(fù) 脈沖,那么初始化程序又是什么情況?答:1設(shè)置PG為負(fù)跳變從1到0,即設(shè)置PG引腳為0值,其控制字應(yīng)設(shè) 置為:0000 1010 即 0AH。故其初始化程序?yàn)椋篗OV DX, 8255控制端口地址MOV AL,0AHOUT DX, AL2負(fù)脈沖為從0到-1 ,故其控制字為

36、:0000 1011 即0BH故其初始化程序?yàn)椋篗OV DX, 8255控制端口地址MOV AL,0BHOUT DX, AL設(shè)8251A的控制和狀態(tài)端口地址為52H,數(shù)據(jù)輸入/輸出口地址為50H 輸出端口 未用,輸入50個(gè)字符,將字符放在BUFFER所指的內(nèi)存緩沖區(qū)中。請(qǐng)寫出這段 程序。答:分析:1工作方式選擇此題沒有講清用同步或異步,故可自選,在此選擇異步傳送,波特率為16,偶校驗(yàn),停止位為2位;8個(gè)數(shù)據(jù)位。從而確定工作方式選擇字為:1111 1110,即為0FEH2操作命令控制字選擇根據(jù)題意,是通過8251A作為輸入接口用,從外設(shè)輸入 50個(gè)字符到主機(jī)的緩沖區(qū), 必須允許接收,那么其RE位需

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論