![微型計(jì)算機(jī)原理應(yīng)用第四版答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/7/d535c13e-f75c-4a1b-bdb9-e02a2ab6899b/d535c13e-f75c-4a1b-bdb9-e02a2ab6899b1.gif)
![微型計(jì)算機(jī)原理應(yīng)用第四版答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/7/d535c13e-f75c-4a1b-bdb9-e02a2ab6899b/d535c13e-f75c-4a1b-bdb9-e02a2ab6899b2.gif)
![微型計(jì)算機(jī)原理應(yīng)用第四版答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/7/d535c13e-f75c-4a1b-bdb9-e02a2ab6899b/d535c13e-f75c-4a1b-bdb9-e02a2ab6899b3.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第 1 章習(xí)題1.1 將下列二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)和十六進(jìn)制。(1)1101(2)=13=D (H)(2)11010(2)=26=1A(H)(3)110100(2)=52=34 (H)(4)10101001(2)=169=A9 (H)要點(diǎn):從低位起,按每 4 位將對(duì)應(yīng)二進(jìn)制轉(zhuǎn)換成十六進(jìn)制。而不是通過十進(jìn)制轉(zhuǎn)換。1.2 見上。1.3 簡(jiǎn)述 3個(gè)門電路的基本元素在電路中對(duì)電平高低的作用。 答:與、或、非。1.4 布爾代數(shù)有哪兩個(gè)特點(diǎn)?答:(1)值只有兩個(gè); (2)只有與、或、反 3 種運(yùn)算。1.5 布爾代數(shù)的“或運(yùn)算”結(jié)果可用哪兩句話來歸納?其“與運(yùn)算”又可歸納成哪兩句話 答:( 1)“或運(yùn)算”運(yùn)
2、算結(jié)果為有一真必為真,兩者皆假才為假。(2)“與運(yùn)算”有一假即為假,兩者皆真才為真。1.6 什么叫原碼、反碼及補(bǔ)碼? 答:原碼就是一個(gè)數(shù)的機(jī)器數(shù)。 反碼:將原碼每位取反,即為反碼。 更準(zhǔn)確的是:正數(shù)的反碼就等于它的原碼; 負(fù)數(shù)的反碼就是它的原碼除符號(hào)位外,各位取反。補(bǔ)碼:反碼加 1 就是補(bǔ)碼。 更準(zhǔn)確的是:正數(shù)的補(bǔ)碼就等于它的原碼;負(fù)數(shù)的補(bǔ)碼就是它的反碼加 1。X2= 100 1001例: X1= 100 1001 則:X1原 = 0100 1001X1反 = 0100 1001X1補(bǔ)= 0100 1001X2原 = 1100 1001X2反 = 1011 0110X2補(bǔ) = X2 反+1=
3、1011 01111.7 為什么需要半加器和全加器,它們之間的主要區(qū)別是什么? 答:(1)因?yàn)榧臃ǖ牡谝晃粵]有進(jìn)位,所以用半加器即可;而第二位起可能有進(jìn)位,故需 要考慮全加器;(2)兩者的區(qū)別是半加器為雙入雙出,全加器為三入雙出。1.8 用補(bǔ)碼法寫出下列減法的步驟:1) 1111(2) -1010(2)=? (2)=? ( 10)答:兩個(gè)數(shù)相減其實(shí)就是第一個(gè)數(shù)與第二個(gè)數(shù)的補(bǔ)碼相加。 第一個(gè)數(shù) 1111 為正數(shù),其原碼為 1111 第二個(gè)數(shù)為 1010 ),其機(jī)器碼(原碼)為: 1010,反碼為 0101,補(bǔ)碼為: 0110兩者相加: 1111+ 011010101 將最高位的進(jìn)位 1 刪去,得
4、結(jié)果為 10101,即為 5(10) 這是按書上的簡(jiǎn)單做法 。按最正規(guī)的方法做如下: 若考慮兩個(gè)數(shù)屬于帶符號(hào)數(shù),第一個(gè)是正數(shù),補(bǔ)碼與原碼都為01111;第二個(gè)數(shù)是負(fù)數(shù),原碼為 11010,反碼為 10101 ,補(bǔ)碼為 10101+1=10110 第一個(gè)數(shù)與第二個(gè)數(shù)的補(bǔ)碼相加,即為:01111+ 10110(2)1100(2) -0011(2)= ?(2)=? (2) 答:按上述所講的正規(guī)方法做。11100,第一個(gè)數(shù)的補(bǔ)碼 =原碼 =01100;第二個(gè)數(shù)的原碼(即機(jī)器碼)為10011,其反碼為其補(bǔ)碼為 11101;兩個(gè)數(shù)的補(bǔ)碼相加,即為:01100+ 11101= 101001將最高位的進(jìn)位 1
5、 刪去,得結(jié)果為 01001,即為 9(10)1.9 做出 101011( 2)+011110(2)的門電路圖并求其相加的結(jié)果。答:相加結(jié)果為: 101011+ 011110= 1001001得結(jié)果為 1001001(2)。(注:相加時(shí)不去掉最高位的進(jìn)位) 門電路圖略去。1.10 做出第 1.9 題中兩數(shù)相減的門電路圖并求其相減的結(jié)果。答:若為 101011-011110 則第一個(gè)數(shù)為正數(shù),其補(bǔ)碼 =原碼 =0101011; 第二個(gè)數(shù)為負(fù)數(shù),其原碼為 1011110,反碼為 1100001,補(bǔ)碼 =反碼 +1=1100001+1=1100010 兩個(gè)數(shù)的補(bǔ)碼相加為: 0101011+ 1100
6、010= 1 0001101例 2:去掉最高位的進(jìn)位 1,得結(jié)果為 0001101,即為 13(10)。+0 反 = 00000000-0 反 = 11111111即:數(shù) 0 的反碼也不是唯一的。第 2 章習(xí)題2.2 觸發(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)分別表示如下:2.4 累加器有何用處?畫出其符號(hào) 答:累加器作為 ALU 運(yùn)算過程的代數(shù)和的臨時(shí)存儲(chǔ)處。2.5 三態(tài)輸
7、出電路有何意義?其符號(hào)如何畫? 答:三態(tài)輸出電路使得一條信號(hào)傳輸線既能與一個(gè)觸發(fā)器接通,也可以與其斷開而與另外 一個(gè)觸發(fā)器接通,從而使得一條信號(hào)線可以傳輸多個(gè)觸發(fā)器的信息。2.6 何謂 L門及 E 門?它們?cè)诳偩€結(jié)構(gòu)中有何用處?答:(1)L 門:高電平時(shí)使數(shù)據(jù)裝入、低電平時(shí)數(shù)據(jù)自鎖其中的電路;E門: E門即三態(tài)門,當(dāng)選通端 E門為高電平時(shí),可將信息從 A端送到 B端。 (2)L 門專管對(duì)寄存器的裝入數(shù)據(jù)的控制,而E 門志管由寄存器輸出數(shù)據(jù)的控制。2.7 控制字是什么意義?試舉個(gè)例子說明。 答:( 1)控制字 CON 將各個(gè)寄存器的 L 門和 E 門的按次序排成一列,并且為了避免住處 在公共總線
8、中亂竄,規(guī)定在某一時(shí)鐘節(jié)拍,只有一個(gè)寄存器的 L 門為高電平,一個(gè)寄存器 的 E 門為高電平,從而保證了 E 門為高電平的寄存器的數(shù)據(jù)流入到 L 門為高電平的寄存器 中去。(2)略去,詳見教材 P31 的表 2-32.8 ROM 和 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ù)。2.9 為什么要建立“地址”這個(gè)概念? 答
9、:因?yàn)橐粋€(gè)存儲(chǔ)器可以包含數(shù)以千計(jì)的存儲(chǔ)單元,可以存儲(chǔ)很多數(shù)據(jù),為了便于存入和 取出,需要對(duì)每個(gè)存儲(chǔ)單元確定一個(gè)固定地址。2.11 譯碼器有何用處? 答:譯碼器用來確定存儲(chǔ)單元的地址。地址譯碼器常用于計(jì)算機(jī)中對(duì)存儲(chǔ)單元地址的譯碼, 即將一個(gè)地址代碼轉(zhuǎn)換成一個(gè)有效信號(hào),從而選中對(duì)應(yīng)的單元。2.12 存儲(chǔ)地址寄存器( MAR )和存儲(chǔ)數(shù)據(jù)寄存器( MDR )各有何用處? 答: MAR 將所要尋找的存儲(chǔ)單元的地址暫存下來,以備下一條指令之用。MDR 是將要寫入 RAM 中去的數(shù)據(jù)暫存起來,以等待控制器發(fā)出指令再將數(shù)據(jù)寫入 RAM 中去。P33 2,4,5,6,7, 8,9,11,12第 3 章習(xí)題3.
10、1 略去3.2 程序計(jì)數(shù)器 PC 的內(nèi)容是什么意義?答:程序計(jì)數(shù)器 PC 存儲(chǔ)的內(nèi)容是指令的地址碼。每次運(yùn)行指令前,先復(fù)位到0,每取出執(zhí)行一條指令, PC加 1.3.3指令寄存器 IR從 PROM接收到指令字( 8位)后的運(yùn)行過程如何?起什么作用? 答:(1)指令寄存器 IR 從 PROM 接收到指令字后,就立即將其高 4 位送到控制部件。(2)控制部件經(jīng)過分析后就發(fā)出控制指令,將IR 的低 4位數(shù)送到存儲(chǔ)地址寄存器 MAR ,MAR 將此低 4 位數(shù)作為地址并用于訪問 PROM。故第 1 次訪問 PROM 的是其指令區(qū),第 2 次訪問的是其數(shù)據(jù)區(qū)。3.4 略3.5 環(huán)形計(jì)數(shù)器有何用處?什么叫
11、環(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)形置位。3.6 什么叫例行程序?什么叫機(jī)器周期、取指周期和執(zhí)行周期?本章簡(jiǎn)化式計(jì)算機(jī)的機(jī)器周 期包括幾個(gè)時(shí)鐘周期(機(jī)器節(jié)拍)?機(jī)器周期是否一定是固定不變的? 答:(1)例行程序:由廠家編好的執(zhí)行每個(gè)程序(在本章中即為每條指令)所需要的機(jī)器 節(jié)拍( 3 個(gè),見 P49)(2)機(jī)器周期:執(zhí)行一條指令的時(shí)間。(3)取指周期:取一條指令所需的3 個(gè)機(jī)器節(jié)拍。(4)執(zhí)行周期:執(zhí)行一條指令所需的
12、機(jī)器節(jié)拍(一般也為3 個(gè)機(jī)器節(jié)拍)(5)本章簡(jiǎn)化式計(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ī)。3.7 控制部件包括哪些主要環(huán)節(jié)?各有何用處?答:(1)控制部件包括環(huán)形計(jì)數(shù)器、指令譯碼器、控制矩陣和其他控制電路。2)環(huán)形計(jì)數(shù)器用來產(chǎn)生環(huán)形字,從而產(chǎn)生機(jī)器節(jié)拍;指令譯碼器:將高四位組成的編碼信息譯成某一控制線為高電位??刂凭仃嚕河脕懋a(chǎn)生控制字 CON ,即產(chǎn)生所有控制信號(hào)。 其他控制電路包含時(shí)鐘脈沖發(fā)生器、運(yùn)行/停車觸發(fā)器、 “啟動(dòng)”和“清除”按鈕。其作用
13、 見 P54.3.8 子程序計(jì)數(shù)器有何用處? 答:也是用來作為一個(gè)程序計(jì)數(shù)器的。3.9-3.11略去3.12 指令寄存器 IR 是如何將其指令字段和地址字段分送出去的?這兩個(gè)字段的位數(shù)是否保 持不變?答:(1)指令寄存器 IR將 8位指令字的高 4位作為指令字段送到控制部件,而將低4位做為地址字段通過總線送到存儲(chǔ)地址寄存器 MAR 中去。(2)對(duì),保持不變。這由制造廠家確定。第 4 章習(xí)題4.1 8086CPU 與 8088CPU 有哪些相同之處?又有哪些區(qū)別? 答:兩者的內(nèi)部結(jié)構(gòu)基本相同,內(nèi)部都采用 16 位字進(jìn)行操作及存儲(chǔ)器尋址,兩者的軟件完 全兼容,程序的執(zhí)行也完全相同,兩種處理器都封裝
14、在相同的 40 腳雙列直插組件( DIP ) 中。但它們的外部性能有區(qū)別。 8086 是 16 位數(shù)據(jù)總線,而 8088 是 8 位數(shù)據(jù)總線,在處理一個(gè)16 位數(shù)據(jù)字時(shí), 8088需要兩步操作而 8086 只需要一步。4.2 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)行 所需
15、的處理。BIU 由 4 個(gè)段寄存器( CS、 ES、 DS、 SS)、 16 位指令指針寄存器 IP、 20 位的地址加法器 和 6 字節(jié)的指令隊(duì)列組成。EU 由 4 個(gè)通過寄存器( AX、BX、CX、DX)、4 個(gè)專用寄存器( SI、DI、SP、BP)、標(biāo)志 寄存器 FR、算術(shù)邏輯部件 ALU 組成。4.3 8086 CPU 有哪些寄存器組成?各有什么用途?標(biāo)志寄存器的各標(biāo)志位在什么情況下置 位?答: 8086 CPU 由 4個(gè)通用寄存器( AX 、BX 、 CX 、DX )、 4個(gè)專用寄存器( SI、DI、SP、 BP)、標(biāo)志寄存器 FR 組成,共 9 個(gè)寄存器。4 個(gè)通用寄存器既可作為
16、16 位寄存器用,也可作為 8 位寄存器使用。其中 AX 寄存器也常 稱為累加器。其它寄存器的用途見教材。標(biāo)志寄存器有 6個(gè)狀態(tài)標(biāo)志( SF、ZF、PF、CF、AF、OF)和 3 個(gè)控制標(biāo)志位( DF、IF、 TF)。其具體置位見 P75 的表 4-1.4.4 8086 系統(tǒng)中的物理地址是如何得到的?假如 CS=2000H ,IP=2100H 其物理地址應(yīng)是多 少?答: 8086 系統(tǒng)中的物理地址是通過 BIU 中的 20位地址加法器得到的。物理地址計(jì)算公式為 CS段地址*16(即二進(jìn)制左移 4位,或者十六進(jìn)制左移 1位) +IP 偏 移地址。按計(jì)算公式,本題中的物理地址為20000H+210
17、0H=22100H 。4.5 什么叫總線周期? 8086CPU 的一個(gè)總線周期包括多少時(shí)鐘周期,什么情況下要插入 TW 等待周期?插入多少個(gè) TW 取決于什么因素?答:總線周期是 CPU 或其他總線控制設(shè)備訪問一次存儲(chǔ)器或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í)鐘周期TW。插入多少個(gè) TW 取決于所訪問的存儲(chǔ)器或者 I/O 設(shè)備是否準(zhǔn)備就緒,此信號(hào)由引腳 READY 發(fā)出。4.6 什么是最大模式?什么是最小
18、模式?用什么方法將 8086/8088 置為最大模式和最小模式? 答:所謂最小模式,就是在系統(tǒng)中只有 8086/8088 一個(gè)微處理器。最大模式中,飲包含兩個(gè)或多個(gè)微處理器,其中主處理器是8086/8088,其他處理器是協(xié)處理器(如數(shù)值運(yùn)算協(xié)處理器 8087,輸入 /輸出協(xié)處理器 8089)。用硬件方法來決定 8086/8088的工作模式,具體是通過引腳 MN/MX 控制信號(hào)引腳來決定, 其接 +5伏,則為最小模式,接地為最大模式。4.7 什么是地址鎖存器? 8086/8088 系統(tǒng)中為什么要用地址鎖存器?鎖存的是什么信息?答: (1)地址鎖存器就是一個(gè)寄存器,它根據(jù)控制信號(hào)的狀態(tài),將總線上的
19、地址代碼暫存起來, 即用于“鎖定”一個(gè)(系列)數(shù)字狀態(tài)的電路。簡(jiǎn)答:地址鎖存器是用來鎖存 /保存地址的一個(gè)寄存器(即一個(gè)普通的時(shí)序電路) ,是觸發(fā) 器的原始形式。目的是某次傳送數(shù)據(jù)并不能一次完成所以鎖存地址以免 CPU 重復(fù)的傳送一 個(gè)地址。原理: CPU 送地址到鎖存器 8282/8283 之后,內(nèi)存在地址鎖存器中找地址,而不是向 CPU 要地址。(2)因?yàn)?8060/8088 系統(tǒng)采用的是地址 /數(shù)據(jù)分時(shí)復(fù)用總線,即用同一總線傳輸數(shù)據(jù)又傳輸 地址,當(dāng)微處理器與存儲(chǔ)器或 IO 交換信號(hào)時(shí),首先由 CPU 發(fā)出存儲(chǔ)器地址,同時(shí)發(fā)出允 許鎖存 ALE 給鎖存器,當(dāng)鎖存器接到該信號(hào)后將地址/數(shù)據(jù)總
20、線上的地址鎖存在總線上,隨后才能傳輸數(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ù)都在總線上,確保了 CPU 對(duì)鎖存器和 I/O 接口的讀 /寫 操作。3)鎖存的是復(fù)用總線上的地址信息。4.8 8086/8088 系統(tǒng)中的 8286 是什么器件?起什么作用? 答:(1)8286 是總線驅(qū)動(dòng)器(又稱總線收發(fā)器,雙向數(shù)據(jù)緩沖器)。(
21、2)在一個(gè)系統(tǒng)所含的外設(shè)接口較多時(shí),它用來增加數(shù)據(jù)總線的驅(qū)動(dòng)能力。4.9 8086/8088 系統(tǒng)中用時(shí)鐘發(fā)生器 8284A 產(chǎn)生哪些信號(hào)?答: 8284A產(chǎn)生恒定的時(shí)鐘信號(hào)、準(zhǔn)備信號(hào)( READY )及復(fù)位信號(hào)( RESET)。4.10 8086 最基本的操作是什么? 答:是總線操作4.11 8086/8088 系統(tǒng)中引入了哪些中斷?是如何引入的?答: 8086 共有 256種類型的中斷。從產(chǎn)生中斷的方法,可以將其分為硬件中斷和軟件中斷 兩大類,硬件中斷中的非屏蔽中斷是通過 CPU 的 NMI 引腳進(jìn)入的,可屏蔽中斷是通過CPU 的 INTR 引腳進(jìn)入的,并且只有當(dāng)中斷允許標(biāo)志IF 為 1
22、時(shí),非屏蔽中斷才能進(jìn)入。軟件中斷是 CPU 根據(jù)軟件中的某條指令或者軟件對(duì)標(biāo)志寄存器中某個(gè)標(biāo)志的設(shè)置而產(chǎn)生的。4.12 什么是可屏蔽中斷?什么是非屏蔽中斷? 可屏蔽中斷是指受中斷標(biāo)志 IF 屏蔽的中斷,由 INTR 引腳進(jìn)入。 非屏蔽中斷是不受中斷標(biāo)志 IF 屏蔽的中斷,由 NMI 引腳進(jìn)入。4.13 什么是中斷向量?中斷向量表指的是什么?中斷向量表放在什么地方? 答:(1)中斷向量是中斷處理子程序的入口地址,每個(gè)中斷類型對(duì)應(yīng)一個(gè)中斷向量。(2)中斷向量表是指在 8086/8088微機(jī)系統(tǒng)的內(nèi)存中,專門留出的 0段的 000003FH 區(qū)域, 用于存放所有的 256 個(gè)中斷向量。(3)中斷向量
23、表放在 0 段的 000003FH 區(qū)域。4.14 假如中斷類型為 8,它的中斷服務(wù)入口地址是多少? 答:中斷類型 8*4=32 ,即十六進(jìn)制 20H,所以其中斷服務(wù)入口地址為 20H.第 5 章習(xí)題5.1 分別指出下列指令中的源操作數(shù)和目的操作數(shù)的尋址方式:(1)MOV SI, 200 ;源操作數(shù)為立即數(shù)尋址(2)MOV CX, DATASI ;源操作數(shù)為(3)ADD AX, BXDI;源操作數(shù)為基址加變址的寄存器間接尋址(4)AND AX, BX源操作數(shù)為寄存器尋址5)MOV SI, AX ;源操作數(shù)為寄存器尋址6) PUSHF ;為寄存器尋址 對(duì)于目的操作數(shù),前 4 小題均為寄存器尋址,
24、 (5)題為寄存器間接尋址。5.2 試述指令 MOV AX, 2010H 和 MOV AX, DS:2010H 的區(qū)別中。 答:前者為將十六進(jìn)制數(shù) 2010H 送到寄存器 AX 中去; 后者為將數(shù)據(jù)段 DS中偏移地址為 2010H、2011H 兩單元中的內(nèi)容送到 AX 中去。5.3 寫出以下指令中內(nèi)存操作數(shù)的所在地址。(1)MOV AL, BX+5答:源操作數(shù)的地址為 BX+5 ,默認(rèn)段寄存器為數(shù)據(jù)段寄存器 DS,又因 BX 為基址寄存器, 所以尋址方式為數(shù)據(jù)段相對(duì)基址尋址;(2)MOV BP+5, AX答:目的操作數(shù)的地址為 BP+5 ,默認(rèn)段寄存器為堆棧段寄存器SS,又因 BP 為基址寄存
25、器,所以尋址方式為堆棧段相對(duì)基址尋址;(3)INC BYTE PTR SI+3答:此句意思為將 SI+3 所指的存儲(chǔ)單元的內(nèi)容加 1; PTR 的意義是定義其后的內(nèi)容變量的 新類型為字節(jié)屬性,具體用法見第 7章 P159.內(nèi)存操作數(shù)的地址為 SI+3 ,屬于相對(duì)變址尋址;(4)MOV DL, ES: BX+DI 答:源操作數(shù)為附加段基址加變址的尋址方式;(5)MOV BX, BX+SI+2 答:源操作數(shù)的內(nèi)存地址為 BX+SI+2 ,屬于數(shù)據(jù)段相對(duì)基址加變址尋址。5.4 判斷下列指令書寫是否正確:(1)MOV AL, BX 答:不對(duì),一個(gè) 8位,一個(gè) 16 位;(2)MOV AL,CL答:正確
26、(3)INC BX答:正確(4)MOV 5, AL 答:不對(duì),目的操作數(shù)不能是立即數(shù)。(5)MOV BX, SI 答:不對(duì),兩個(gè)存儲(chǔ)單元之間不能直接傳送數(shù)據(jù);(6)MOV BL, F5H 答:正確(7)MOV DX, 2000H答:正確(8)POP CS答:不對(duì),段寄存器 CS 和立即數(shù)都不能作目的操作數(shù)(9)PUSH CS 答:正確。注:本部分可以用 DEBUG 中的 -a指令進(jìn)行調(diào)試以確認(rèn)指令是否正確5.5 設(shè)堆棧指針 SP 的初值為 2000H,AX=3000H ,BX=5000H ,試問:(1)執(zhí)行指令 PUSH AX 后 SP=?答:執(zhí)行 PUSH 指令時(shí),棧頂指針 SP自動(dòng)減 2,
27、所以 SP=2000H-2= 1FFE H ;(2)再執(zhí)行 PUSH BX 及 POP AX 后 SP=? AX=? BX=?答:執(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.5.6 要想完成把 2000H送 1000H中,用指令:MOV 1000H, 2000H 是否正確?如果不正確,應(yīng)用什么方法? 答:不正確,因?yàn)閮蓚€(gè)存儲(chǔ)單元之間不能直接傳送數(shù)據(jù)。可以改為:MOV AX, 2000HMOV 1000
28、H, AX5.7 假如想從 100 中減去 AL 中的內(nèi)容,用 SUB 100, AL 是否正確?如果不正確,應(yīng)用什 么方法?答:不正確,因?yàn)榱⒓磾?shù)不能做為目的操作數(shù)。可以改為:MOV BL, 5AH ; 100 的 16 進(jìn)制數(shù)表達(dá)式為 5AHSUB BL, AL5.8 用兩種方法寫出從 88H 端口讀入信息的指令。再用兩種方法寫出從 42H 口輸出 100H 的 指令。答:法一: IN AL, 88H;法二: MOV DL, 88HIN AL, DL(2) 法一: MOV AX, 0100HOUT 42H, AX; 將 AX 中的內(nèi)容輸出到 42H、 43H 兩端口中,其中 00H 送 4
29、2H 端口中, 01H 送到 43H 端口中法二: MOV AX,0100HMOV DX, 42HOUT DX, AX5.9 假如 AL=20H ,BL=10H ,當(dāng)執(zhí)行 CMP AL , BL 后,問:(1)若 AL 、BL 中內(nèi)容是兩個(gè)無符號(hào)數(shù),比較結(jié)果如何?影響哪幾個(gè)標(biāo)志位? 答:對(duì)無符號(hào)數(shù),執(zhí)行 CMP 后影響 CF、 ZF 位。第一個(gè)數(shù) AL 為: 0002 0000第二個(gè)數(shù) BL 為: 0001 00000001 0000故執(zhí)行后標(biāo)志為分別為 ZF=0 ; CF=0;(2)若 AL 、BL 中內(nèi)容是兩個(gè)有符號(hào)數(shù),結(jié)果又如何?影響哪幾個(gè)標(biāo)志位? 答:對(duì)有符號(hào)數(shù),執(zhí)行 CMP 指令后影
30、響 ZF和 OF 標(biāo)志位,不影響 CF位。 執(zhí)行后標(biāo)志位分別為 ZF=0; OF=0第 6 章習(xí)題6.1 讀下面程序段,請(qǐng)問:在什么情況下,本段程序的執(zhí)行結(jié)果是AH0?BEGIN: INAL, 5FHTEST AL ,80HJZBRCHlMOVAH, 0JMPSTOPBRCHl :MOV AH , 0FFHSTOP :HLT解答: AL 中的最高位為 1 時(shí)。6.2 讀程序:START :INAL,20HMOVBL,ALINAL, 30HMOVCL,ALMOVAX,0ADLOP :ADDAL,BLADCAH,0DECCLJNZADLOPHLT請(qǐng)問: (1) 本程序?qū)崿F(xiàn)什么功能 ?(2) 結(jié)果在
31、哪里 ? 解答:完成 20H*30H, 結(jié)果在 AX中。6.3 請(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 AX,BX6.4 編程序使:(1)AX 寄存器低 4 位清零。(2)BX 寄存器低 4 位置“ 1”。(3) CX 寄存器低 4 位變反。(4) 用 TEST指令測(cè)試 DL寄存器位 3、位 6是否同時(shí)為
32、0,若是,將 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 ,0HLT6.5 編一程序段,完成符號(hào)函數(shù) (-128 x 127) :1 (x>0)y= 0 (x=0)-1 (x<0)假設(shè) x 的值存放在 DATAl中, y 的值存放在 DATA2中。 解答: START :MOV AL ,DATA1AND AL,ALJGE BIGRMOV
33、AL,81H ;即將 -1 給 ALMOV DATA2 , ALHLTBIGR: JE EQUL ;結(jié)果為 0,轉(zhuǎn) EQULMOV AL,1MOV DATA2,ALHLTEQUL: MOV AL , OMOV DATA2,ALHLT6.6設(shè) AX寄存器中有一個(gè) 16 位二進(jìn)制數(shù),編一程序,統(tǒng)計(jì) AX中“ l ”的個(gè)數(shù),統(tǒng)計(jì)結(jié)果 送 CX 中。解答: START : MOV CX ,0LOOP1: CLCSUB AX,0 JZ STP SAL AX,1 JNC NOD INC CX; CX清零也可用 XOR CX,CX實(shí)現(xiàn) ;CF清零;此句也可用 CMP AX,O替代;此句也可用 SHL AX,
34、1 替代NOD: 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 PROC SUBPROC :PUSH BXPUSH SIPUSH DIPUSH CXPUSH ALPUSH DSSTART: MOV BX,DATA1 ;將首地址 DAT1送到 BX中,作為表的首地址 MOV SI ,DAT2MOV DI DAT3MOV CX ,16NEST: LODSB XLA
35、T ;STOSBLOOP NESTPOP DSPOPPOPPOPPOPPOPRETAL CX DI SIBX;讀字節(jié)串,從地址為 SI 的 RAM讀 16 進(jìn)制數(shù)到 AX/AL 用換碼指令 XLAT將 AX/AL中的 16 進(jìn)制數(shù)轉(zhuǎn)換成;對(duì)應(yīng)的 ASCII 碼 寫字節(jié)串,從 AX/AL 寫到 RAM,即將轉(zhuǎn)換成的;到目標(biāo)地址 DI 處CX!=0,就轉(zhuǎn)向 NEST, SI 與 DI 都會(huì)自動(dòng)增ASCII 碼送SUBPROC ENDP 本題重點(diǎn):( 1)所有的串操作指令,如LODSB, STOSB 等都用寄存器SI 對(duì)源操作數(shù)進(jìn)行間接尋址;都用寄存器 DI 為目的操作數(shù)進(jìn)行間接尋址。(2)在每次循
36、環(huán)后,地址指針 SI和 DI 都會(huì)受到修改;(3) XLAT 指令的用法,見教材 P118,用 BX 給定首地址,用 AL/AX 給定偏移地址,再用 XLAT 指令轉(zhuǎn)換。第 7 章習(xí)題7.2 假設(shè)學(xué)生某門課程的成績(jī)放在數(shù)據(jù)區(qū)中,請(qǐng)編一程序,統(tǒng)計(jì)該成績(jī)中小于 6090 分的人數(shù),大于 90 分的人數(shù),并顯示在屏幕上。60 分的人數(shù),答:分析:假設(shè)學(xué)生成績(jī)放在以 DATA1 為首地址的數(shù)據(jù)區(qū)中。DATASEG SEGMENTDATA1 DB 100 DUP (?)STRING1 DB ' The student number of grade is bigger than 90STRING
37、2 DB The student number of grade is between 60 and 90STRING3 DB' The student number of grade is less than 90DATASEG ENDSSS1 SEGEMENT STACKDW 30 DUP(?)SS1 ENDSCODE SEGMENTASSUME CS: CODE, DS:DA TASEG, SS:SS1START: MOV AX, DA TASEGMOV DS, AXMOV SI, OFFSET DA TA1MOV CL, 100(D); 將學(xué)生人數(shù) 100 賦給 CLXOR B
38、X, BXXOR AX, AXXOR DX, DXA1:MOV AX, SICMP AX, 90(D)JA L1CMP AX, 60(D)JAE L2INC CH ;用 CH 保存小于 60 的人數(shù)JUMP A2L1: INC BH ;用 BH 保存大于 90 的人數(shù)JUMP A2L1: INC BL ;用 BL 保存 60 到 90 的人數(shù)JUMP A2A2: INC SILOOP A1; 在屏幕上輸出各類人數(shù)MOV DX, OFFSET STRING1MOV AH, 9INT 21HMOV DL, CHMOV AH, 2INT 21H; 輸出 60-90 的學(xué)生人數(shù)MOV DX, OFFS
39、ET STRING2MOV AH, 9MOV DL, BLMOV AH, 2INT 21H; 輸出小于 60 的學(xué)生人數(shù)MOV DX, OFFSET STRING3MOV AH, 9MOV DL, BHMOV AH, 2INT 21H; 程序完成,返回操作系統(tǒng),結(jié)束MOV AH, 4CHINT 21HCODE ENDSEND START第八章習(xí)題8.1 編一初始化程序,使 8255A 的 PC5端輸出一個(gè)負(fù)跳變。如果要求PC5 端輸出一個(gè)負(fù)脈沖,則初始化程序又是什么情況?答:(1)設(shè)置 PC5為負(fù)跳變(從 1 到 0),即設(shè)置 PC5引腳為 0 值,其控制字應(yīng)設(shè)置為: 0000 1010(即
40、0AH )。故其初始化程序?yàn)椋?MOV DX, 8255 控制端口地址MOV AL,0AHOUT DX, AL(2)負(fù)脈沖為(從 0到-1),故其控制字為: 0000 1011(即 0BH) 故其初始化程序?yàn)椋?MOV DX, 8255 控制端口地址MOV AL,0BHOUT DX, AL8.2 設(shè) 8251A 的控制和狀態(tài)端口地址為 52H ,數(shù)據(jù)輸入 /輸出口地址為 50H (輸出端口未用) , 輸入 50 個(gè)字符,將字符放在 BUFFERR 所指的內(nèi)存緩沖區(qū)中。請(qǐng)寫出這段程序。答:分析:( 1)工作方式選擇16,偶校驗(yàn),停止本題沒有講清用同步或異步,故可自選,在此選擇異步傳送,波特率為 位為 2位;8 個(gè)數(shù)據(jù)位。從而確定工作方式選擇字為: 1111 1110,即為 0FEH; (2)操作命令控制字選擇 根據(jù)題意,是通過 8251A 作為輸入接口用,從
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南河南省實(shí)驗(yàn)幼兒園面向教育部直屬師范大學(xué)2025屆公費(fèi)師范畢業(yè)生招聘筆試歷年參考題庫附帶答案詳解
- 2025年中國(guó)固體亞氯酸鈉市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)陶瓷型自動(dòng)鞋套機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年脫扣器自動(dòng)拍打清洗機(jī)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)組合音響揚(yáng)聲器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年玻璃濾片包裝回收箱項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)機(jī)車塑膠配件行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年手機(jī)沙發(fā)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)變速箱吊掛行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)伽利略液體溫度計(jì)行業(yè)投資前景及策略咨詢研究報(bào)告
- 駐場(chǎng)保潔方案
- 中國(guó)心理衛(wèi)生協(xié)會(huì)家庭教育指導(dǎo)師參考試題庫及答案
- 智能廣告投放技術(shù)方案
- 知識(shí)產(chǎn)權(quán)保護(hù)執(zhí)法
- 高質(zhì)量社區(qū)建設(shè)的路徑與探索
- 數(shù)字化時(shí)代的酒店員工培訓(xùn):技能升級(jí)
- 足球守門員撲救技巧:撲救結(jié)合守護(hù)球門安全
- 《學(xué)術(shù)規(guī)范和論文寫作》課件全套 第1-10章 知:認(rèn)識(shí)研究與論文寫作 - 引文規(guī)范
- 起重機(jī)更換卷筒施工方案
- 01智慧物流信息技術(shù)概述
- 精神發(fā)育遲滯的護(hù)理查房
評(píng)論
0/150
提交評(píng)論