![微機(jī)原理課后答案._第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6ed20c50-b9c1-4ede-8159-e444427b2e24/6ed20c50-b9c1-4ede-8159-e444427b2e241.gif)
![微機(jī)原理課后答案._第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6ed20c50-b9c1-4ede-8159-e444427b2e24/6ed20c50-b9c1-4ede-8159-e444427b2e242.gif)
![微機(jī)原理課后答案._第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6ed20c50-b9c1-4ede-8159-e444427b2e24/6ed20c50-b9c1-4ede-8159-e444427b2e243.gif)
![微機(jī)原理課后答案._第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6ed20c50-b9c1-4ede-8159-e444427b2e24/6ed20c50-b9c1-4ede-8159-e444427b2e244.gif)
![微機(jī)原理課后答案._第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6ed20c50-b9c1-4ede-8159-e444427b2e24/6ed20c50-b9c1-4ede-8159-e444427b2e245.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題二IA-32 結(jié)構(gòu)微處理器主要內(nèi)容:主要介紹8086/8088CPU內(nèi)部結(jié)構(gòu)。了解 80X86CPU的特點(diǎn)。2.1 8086 CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成 ?其功能是什么?【答】8086的內(nèi)部結(jié)構(gòu)成兩部分:總線接口部件BIU,負(fù)責(zé)控制存儲器讀寫。執(zhí)行部件EU,EU從指令隊(duì)列中取出指令并執(zhí)行。8086是16位微處理器,有16根數(shù)據(jù)線、20根地址線,內(nèi)部寄存器、算術(shù)邏輯部件為16位。2.2 8086的總線接口部件有那幾部分組成?【答】8086的總線接口部件主要由下面幾部分組成:4個(gè)段寄存器 CS/DS/ES/SS, 個(gè)16位的指令指針寄存器IP, 個(gè)20位地址加法器,6字節(jié)的指令隊(duì)列,內(nèi)部
2、暫存器以及輸入輸出電路組 成2.3 8086的執(zhí)行部件有什么功能 ?由那幾部分組成?【答】8086的執(zhí)行部件主要由下面幾部分組成:(1)四個(gè)16位通用寄存器 AX BX CX DX,四個(gè)16位專用寄存器,包括二個(gè)指針寄存器 SP BP,二個(gè)變址寄存器 SI、DI,算術(shù)邏輯單元 ALU, 標(biāo)志寄存器。2.4 8086CPU狀態(tài)標(biāo)志和控制標(biāo)志又何不同?程序中是怎樣利用這兩類標(biāo)志的? 8086的狀態(tài)標(biāo)志和控制標(biāo)志分別有哪些?【答】標(biāo)志分兩類:狀態(tài)標(biāo)志(6位),反映剛剛完成的操作結(jié)果情況,包括零標(biāo)志ZF、符號標(biāo)志SF、奇偶標(biāo)志PF、進(jìn)位標(biāo)志CF輔助進(jìn)位標(biāo)志 AF、溢出標(biāo)志 OF??刂茦?biāo)志(3位),在某
3、些 指令操作中起控制作用,包括單步運(yùn)行標(biāo)志 TF、方向標(biāo)志DF與中斷允許標(biāo)志IF。利用狀態(tài)標(biāo) 志可以掌握當(dāng)前程序操作的結(jié)果,例如了解是否產(chǎn)生進(jìn)位,是否溢出等。2.5 8086/8088和傳統(tǒng)的計(jì)算機(jī)相比在執(zhí)行指令方面有什么不同?這樣的設(shè)計(jì)思想有什么優(yōu)點(diǎn)?8086CPU執(zhí)行轉(zhuǎn)移指令時(shí),指令隊(duì)列寄存器內(nèi)容如何變化?【答】傳統(tǒng)的計(jì)算機(jī)一般按照取指令、指令譯碼/執(zhí)行指令的步驟工作。在 8086/8088中,指令的提取與執(zhí)行分別由總線接口部件BIU與執(zhí)行部件EU完成,8086/8088可以在取指令同時(shí)又可以執(zhí)行指令,這種并行工作方式有力的提高了CPU的工作效率。2.6 將兩數(shù)相加,即0100 1100力
4、口0110 0101 , CFPF、AF、ZF、SF、OF各為何值?【答】0100 1100+0110 0101=10110001CF=0, PF=1, AF=1, ZF=0, SF=1, OF=12.7 存儲器的邏輯地址由哪幾部分組成?存儲器的物理地址是怎樣形成的? 一個(gè)具有20位地址線的CPU其最大物理地址為多少?【答】存儲器的邏輯地址由段地址與段內(nèi)偏移地址組成。存儲器的物理地址:將16位段地址左移4位后加上16位段內(nèi)偏移地址,形成20位物理地址。一個(gè)具有 20位地址線的CPU其最大物理地址為220=1MB2.8 現(xiàn)有6個(gè)字節(jié)的數(shù)據(jù)分別為 11H, 22H, 33H, 44H, 55H,
5、66H,已知它們在存儲器中的物理地 址為400A5H-400AAH若當(dāng)前(DS = 4002H,請說明它們的偏移地址值。如果要從存儲器 中讀出這些數(shù)據(jù),需要訪問幾次存儲器,各讀出哪些數(shù)據(jù)?【答】由于:物理地址=400A5H=地址*16+偏移地址=40020H+偏移地址偏移地址=400A5+40020=85H從奇地址 400A5H中讀出:11H;從偶地址 400A6H讀出一個(gè)字:22H, 33H;從偶地址 400A8H 讀出一個(gè)字:44H, 55H;從偶地址 400AAH中讀出:66H。共讀4次。2.9 已知當(dāng)前數(shù)據(jù)段中存有如下圖所示的數(shù)據(jù),現(xiàn)要求將最后兩個(gè)字節(jié)改成ODH OAH請說明需給出的段
6、基值和偏移地址值,并說明其寫入過程。【答】數(shù)據(jù)段段地址=150AH偏移地址=0004H°CPU的總線接口部件根據(jù)數(shù)據(jù)段寄存器的內(nèi)容150AH左移4位,在加上偏移地址 0004H,形成20位物理地址150A4H,由總線接口送出,選中物理 存儲單元150A4H 150A5H,數(shù)據(jù)ODH通過數(shù)據(jù)總線送入 150A4H,數(shù)據(jù)OAH通過數(shù)據(jù)總線送入 150A4H。2.10在8088/8086 中,邏輯地址 FFFF: 0001, 00A2: 37F和B800: 173F的物理地址分別是多少? 2.11在8088/8086中,從物理地址 388H開始順序存放下列三個(gè)雙字節(jié)的數(shù)據(jù),651AH, D
7、761H和007BH,請問物理地址 388H, 389H, 38AH, 38BH, 38CH 和38DH 6個(gè)單元中分別是什么數(shù)據(jù)?【答】物理地址388H38DH單元中的數(shù)據(jù)如下表:地址388H389H38AH38BH38CH38DH數(shù)據(jù)1AH65H61HD7H7BH00H2.12 8086CPU的形成三大總線時(shí),為什么要對部分地址線進(jìn)行鎖存?用什么信號控制鎖存?【答】 為了確保CPU對存儲器和I/O端口的正常讀/寫操作,要求地址和數(shù)據(jù)同時(shí)岀現(xiàn)在地址總線和數(shù) 據(jù)總線上。而在 8086CPU中ADOAD15總線是地址/數(shù)據(jù)復(fù)用的,因此需在總線周期的前一部分傳 送岀地址信息,并存于鎖存器中,而用后
8、一部分周期傳送數(shù)據(jù)。8086CPU中是通過CPU送岀的ALE高電平信號來控制鎖存的。2.13段寄存器CS=1200H,指令指針寄存器IP=4000H,此時(shí),指令的物理地址為多少 ?指向這一物理地址的 CS值和IP值是唯一的嗎?【答】此時(shí),指令的物理地址為16000H;這一物理地址的CS值和IP值不是唯一的,例如:CS=1000H,IP=6000H 。2.14 80386最重要的技術(shù)特點(diǎn)是什么?【答】速度大大提高:時(shí)鐘達(dá) 12MHZ/16MHZ (2)尋址空間大大擴(kuò)展:4GB物理空間,64TB (64GGB) 虛擬空間,(3) 除了保持80286的實(shí)地址方式和保護(hù)方式外,增加了虛擬8086方式。
9、(4) 80386設(shè)置了轉(zhuǎn)換檢測緩沖器,大大加快了存儲器訪問速度。2.15 80386 的內(nèi)部有哪些部件?【答】80386功能部件包括總線接口部件BIU、指令預(yù)取部件IPU、指令譯碼部件IDU、指令執(zhí)行部件 EU存儲器管理部件 MMU即分頁部件PU與分段部件SUL2.16 80386 CPU 有幾種工作方式?【答】80386的實(shí)地址方式、80386的虛擬保護(hù)方式與虛擬8086方式。2.17 簡述80386 CPU的實(shí)地址方式特點(diǎn)?!敬稹?0386上電或復(fù)位時(shí),處于實(shí)地址方式,主要為80386進(jìn)行初始化工作。特點(diǎn):(1)實(shí)地址方式采用類似8086體系結(jié)構(gòu),尋址機(jī)構(gòu)、存儲器管理與中斷處理機(jī)構(gòu)與80
10、86 一樣。(2)操作數(shù)默認(rèn)長度為16位,但允許訪問 80386的32位寄存器組,在使用時(shí)指令中要加上前綴以表示越權(quán)存取。(3)存儲器尋址空間最大1M字節(jié)。(4)實(shí)地址方式下,存儲器中保留兩個(gè)固定區(qū)域,一個(gè)為初始化程序區(qū):FFFF0FFFFFH另一個(gè)為中斷向量區(qū) 00000003FFH。(5)80386 具有4個(gè)特權(quán)級,實(shí) 地址方式下,程序在最高級(0級)上執(zhí)行。2.18 簡述80386的虛擬保護(hù)方式特點(diǎn)。【答】80386的存儲器的虛擬保護(hù)方式: 80386上電或復(fù)位后,先進(jìn)入實(shí)地址方式完成初始化,然后轉(zhuǎn)到保護(hù)方式。在保護(hù)方式,虛存空間可達(dá)4GB X 16K =64MMB=64GB程序員借助于
11、存儲管理部件(MMU)功能將磁盤等存儲設(shè)備映射到內(nèi)存,使邏輯地址大大超過實(shí)際物理地址空間。在保護(hù)方式,可以使用80386的4級保護(hù)功能,為多任務(wù)操作系統(tǒng)提供支持。2.19虛擬8086方式有什么特色?為什么要設(shè)置這種方式?【答】(1)可以執(zhí)行8086的應(yīng)用程序。(2)段寄存器的用法和實(shí)地址方式時(shí)一樣,即段寄存器內(nèi)容 左移4位加上偏移量為線性地址。(3)存儲器尋址空間為一兆字節(jié),但可以使用分頁方式,將一兆字節(jié)分為256個(gè)頁面,每頁4K字節(jié)。在80386多任務(wù)系統(tǒng)中,可以使其中一個(gè)或幾個(gè)任務(wù)使用 虛擬8086方式。此時(shí),一個(gè)任務(wù)使用的全部頁面可以定位于某個(gè)物理地址空間,另一個(gè)任務(wù)的頁 面可以定位于其
12、他區(qū)域,即每個(gè)虛擬8086方式下的任務(wù)可以轉(zhuǎn)換到物理存儲器的不同位置。(4)虛擬8086方式中,程序在最低特權(quán)級(3級)上運(yùn)行,因此,80386指令系統(tǒng)中的一些特權(quán)指令不 能使用。虛擬8086方式是80386中很重要的設(shè)計(jì)特點(diǎn),可以使大量的 8086軟件有效的與 80386保護(hù)方式下的軟件并發(fā)運(yùn)行。2.20 80386 有哪兩種模擬 8086的方式?【答】80386有兩種模擬8086的方式,一種是實(shí)地址方式,一種是虛擬8086方式。80386上電或復(fù)位時(shí),處于實(shí)地址方式。在保護(hù)方式下,可以通過軟件切換到虛擬8086方式,運(yùn)行8086程序。2.21 80386采用幾種描述符表?這些表的設(shè)置帶來什
13、么優(yōu)點(diǎn)?【答】80386共設(shè)計(jì)三中描述符表即:全局描述符表,局部描述符表,中斷描述符表。采用描述符表帶來如下三方面的優(yōu)點(diǎn):1 可以大大擴(kuò)展存儲空間;2 .可以實(shí)現(xiàn)虛擬存儲;3.可以實(shí)現(xiàn)多任務(wù)隔離。2.22 80386 在3種工作方式下,"段"的長度有什么差別 ?實(shí)地址方式,段的大小固定64K字節(jié)。保護(hù)方式,段的大小是可以選擇的,從1字節(jié)到4千兆字節(jié)。虛擬8086方式,對程序員來說,段長度固定為64K。2.23 Intel86系列CPU是從哪一種芯片開始采用RISC技術(shù)的?你能說說RISC技術(shù)最重要的特點(diǎn)和優(yōu)點(diǎn)嗎?【答】80486是首次采用RISC技術(shù)的。80486把8038
14、6和浮點(diǎn)運(yùn)算協(xié)處理器 80387及8KB的超高速緩存 器集中到一個(gè)芯片中,且支持二級Cache。80486能在一個(gè)時(shí)鐘周期執(zhí)行一條指令。2.24 80486 和80386相比,有什么技術(shù)特點(diǎn) ?【答】(1) 80486是首次采用 RISC技術(shù)的;(2)采用片內(nèi)高速緩存和片內(nèi)浮點(diǎn)運(yùn)算協(xié)處理器;(3)80486采用一種突發(fā)式總線方式實(shí)現(xiàn)CPU和內(nèi)存的高速數(shù)據(jù)交換;(4) 80386可以模擬多個(gè)8086來實(shí)現(xiàn)多任務(wù)功能。2.25 Pentium有哪些技術(shù)特點(diǎn)?你認(rèn)為在Pentium基礎(chǔ)上主要應(yīng)從哪幾個(gè)方面可再作改進(jìn)?【答】 采用超標(biāo)量雙流水線結(jié)構(gòu),每個(gè)流水線包含5個(gè)步級。 內(nèi)部采用2個(gè)彼此獨(dú)立的8K
15、B數(shù)據(jù)高速緩存,這兩個(gè)高速緩存可以同時(shí)被訪問。Pentium內(nèi)部數(shù)據(jù)總線為 32位,但是cpu和內(nèi)存進(jìn)行數(shù)據(jù)交換的外部數(shù)據(jù)總線為64位,使一個(gè)總線周期的數(shù)據(jù)傳輸量提高一倍。 采用36位地址總線,擴(kuò)展了尋址空間。對mov、push、dec、inc等常用指令不用微程序而用硬件實(shí)現(xiàn);采用分支預(yù)測技術(shù)提高流水線效能。采用分支預(yù)測技術(shù)提高流水線效能。浮點(diǎn)運(yùn)算執(zhí)行過程分為8個(gè)流水步級。pentium也存在一些缺點(diǎn),如功耗大,達(dá)15w,浮點(diǎn)運(yùn)算功能仍低于一些RISC處理器。2.26選擇題(1) 80386共有()個(gè)弓I腳信號,采用()封裝。A . 128,PGA B . 132,LCC C . 132,PG
16、A D . 128,LCC【答】C80386 內(nèi)部可以分為()個(gè)部件。A . 8B. 6 C . 4 D. 2【答】B(3) 80386有()條地址信號線和()條數(shù)據(jù)信號線A.32, 32B.32,24 C . 24,32 D.20, 32【答A(4)外部CLK2的頻率是80386內(nèi)部時(shí)鐘信號頻率的()倍 .A.5B.4C. 3D.2【答D(5)80386的HLDA信號是對()的應(yīng)答信號A . HOLD B . BUSRQ C . INTR D . DMARQ 【答】A(6)80386的流水線方式請求信號是()。A . ND # B . NC#C . NB # D . NA #【答】D(7)8
17、0386的執(zhí)行部件可分為()子部件。A .控制部件B .數(shù)據(jù)部件C .保護(hù)測試部件D. A 和BE. B 和 C F. A .B和 C答 F(8)80386 在保護(hù)模式下工作時(shí),可以有()個(gè)特權(quán)級A . 5B. 4 C . 3 D. 2【答B(yǎng)習(xí)題三8086指令系統(tǒng)主要內(nèi)容:8086指令系統(tǒng)。主要介紹8086的基本數(shù)據(jù)類型、尋址方式和指令系統(tǒng),重點(diǎn)掌握8086 指令系統(tǒng)的尋址方式、堆棧操作指令、算術(shù)運(yùn)算指令及其對標(biāo)志位的影響,串操作指令,控制傳送指令。3.1下面這些指令哪些是正確的?哪些是錯(cuò)誤的?如是錯(cuò)誤的,請說明原因。XCHGCS,AX()MOVBX,1000()PUSHCS()POPCS()
18、INBX,DX()3.2單選題:(1)執(zhí)行下面指令序列后,結(jié)果是()。MOV AL ,82HCBWA、 AX=0FF82HB、AX=8082HC、AX=0082HD、 AX=0F82H【答A(2)與 MOV BX,OFFSET VAR指令完全等效的指令是()。A、MOVBX,VARB、LDS BX,VARC、LESBX,VARD、LEA BX,VAR【答】D(3)編寫分支程序,在進(jìn)行條件判斷前,可用指令構(gòu)成條件,其中不能形成條件的指令有()。A、 CMPB、SUBC、ANDD、MOV【答】D(4)下面指令執(zhí)行后,改變 AL寄存器內(nèi)容的指令是()。A、TEST AL ,C、CMP AL ,【答】
19、D(5)設(shè) DH=10H,執(zhí)行02HOR AL,ALAND AL,BLNEG DH指令后,正確的結(jié)果是 ()?!敬稹緿A、DH=10H CF=1C、DH=10H CF=0(6)設(shè) DS=8225H , DI=3942H ,A、 85B92HDH=0F0H CF=ODH=0F0H CF=1指令 NEG BYTE PTRDI操作數(shù)的物理地址是)。B、 86192HC、 BB690HD、12169H0TAL。F面程序段正確的是)。A、MOVJSSHRAL , BUFK1AL , 1K1AL , 0K1 :JNCMOVB、MOVAL , BUFANDAL , 11JNZK2MOVAL , 0K2 :C
20、、MOVAL , BUFTESTAL , 81HJNZK3MOVAL , 0K3 :D、MOVAL , BUFJNPK4TESTAL , 80HJNZK4MOVAL , 0K4 :執(zhí)行速度最快的是(【答】A(7)檢查BUF的內(nèi)容是否為正偶數(shù),如是正偶數(shù),)?!敬稹緾(8)下列指令中,A、 MOVAX,100MOVAX,BX【答】CC、 MOVAX,BXMOVAX,BX+BP3.3 已知(DS) = 091DH , (SS) = IE4AH , (AX ) = 1234H , ( BX ) = 0024H , ( CX) = 5678H , (BP) = 0024H , ( SI) = 0012
21、H , ( DI ) = 0032H , : 09226 = 00F6H , : 09228 =1E40H , :1E4F6 =091DH,試求單獨(dú)執(zhí)行下列指令后的結(jié)果?(1) MOV CL , 20H BXSI;【答】由于源操作數(shù)有效地址EA=20H+0024H+0012H=0056H,其物理地址 PA=DS*16+EA=091DH*16+56H=09226H, 因此(CL) = F6H(2) MOV BPDI ,CX ;【答】由于目的操作數(shù)有效地址EA= 0024H + 0032H=0056H,目的操作數(shù)物理地址 PA= SS*16+EA=1E4A0H+0056H=1E4F6H, 因此1E
22、4F6=5678H(3)LEAMOVBX , 20H : BX SIAX , 2BX答第-條指令:源操作數(shù)物理地址PA = 091D0H+(20+0024H+0012H)=09226H, 因此(BX ) =0056H第二條指令:源操作數(shù)物理地址PA = 091D0H+(2+0056)=09928H, 因此(AX ) =1E40H(4)LDSSI , BXDIMOVSI , BX答第-條指令:源操作數(shù)物理地址PA=091D0H+(0024H+0032H)=09226H因此(SI)= 00F6H, (DS)=1E40H第-條指令:目的操作數(shù)物理地址PA= 1E400H+00F6H=1E4F6H因此
23、1E4F6H單元的內(nèi)容為 0024H,即1E4F6H=0024H(5)XCHGCX , 32HBXXCHG 20BXSI, AX【答】同理可得: (CX ) = 00F6H (AX ) = 00F6H , 09226H= 1234H3.4 8086 CPU執(zhí)行如下指令后MOVAL ,01100100BSUBAL ,58H;(AL)=0CH,AF=1,CF=0DAS;(AL)=06,AF=1,CF=0【答】 首先用TD調(diào)試驗(yàn)證上面的結(jié)果;自己定義兩個(gè)數(shù)據(jù),重新驗(yàn)證,寫岀結(jié)果。3.5 設(shè)(IP) = 3D8F H , (CS) = 4050H , (SP)= 0F17C H,當(dāng)執(zhí)行 CALL 20
24、00 : 0094H 后,試求岀 IP、CS、SP、:SP、:SP+ 1 :SP+ 2 和SP+3的內(nèi)容?【答】(IP)=0094H ,( CS)=2000H,(SP)=F178HSP=8FH ,SP+1=3DH ,SP+2=50H, SP + 3=40H,SP+3=40H3.6設(shè)(DS) = 2000H , ( BX ) = 1256H , ( SI) = 528FH 264E5H = 2450H,執(zhí)行下述指令,TABLE的偏移量=20A1H , :232F7H =3280H ,(1) JMP BX; IP= 1256H(2) JMP TABLE : BX ; IP= 3280H(3) JM
25、P : BX SI; IP= 2450H3.7分別用一條語句實(shí)現(xiàn)下述指明的功能(1 )棧頂內(nèi)容彈岀送字變量DI。(POPDI )(2)雙字變量 AYD存放的地址指針?biāo)?ES和SIo(LESSI , AYD )(3)不允許中斷即關(guān)中斷。(CLI )(4)子程序返回調(diào)用程序。(RET )(5) AX的內(nèi)容加1,要求不影響 CF o(INCAX )(6) BX的內(nèi)容加1,要求影響所有標(biāo)志位。(ADDBX, 1 )(7)若操作結(jié)果為零轉(zhuǎn)向標(biāo)號GOON o(JZGOON )3.88086/ 8088用什么途徑來更新CS和IP的值?【答執(zhí)行CALL、JMP、INT指令,可以改變 CS和IP中的值,即改變程
26、序走向。3.9字節(jié)擴(kuò)展指令和字?jǐn)U展指令用在什么場合?舉例說明。【答】需要對帶符號數(shù)字節(jié)擴(kuò)展為字時(shí),要預(yù)先執(zhí)行CBW指令。需要對帶符號數(shù)字?jǐn)U展為雙字時(shí),預(yù)先執(zhí)行CWD。AX,-503BX,267【答】例:求-503/267=?,將商存1000H單元.MOV MOV CWD IDIV3.10 設(shè) DS=2100H,SS=5200HMOVWORDMOVWORDMOV HLT1000H,AX3.11以下是格雷碼的編碼表BX=1400H , BP=6200HPTR BX, 2000說明下面兩條指令所進(jìn)行的具體操作PTRBP,00000 , 1 0001 , 2 00113 001050111,6 010
27、1,70100請用換碼指令和其他指令設(shè)計(jì)一個(gè)程序段,實(shí)現(xiàn)格雷碼往81100ASCII的轉(zhuǎn)換。200001101101【答】格雷碼ASCII 碼000030H000131H001033H001132H010037H010136H011034H011135H10000100101010010110110038H110139HTABLE SEGMENTTAB_DA DB 30H,31H,33H,32H,37H,36H,34H,35H,0,0DB 0,0,38H,39HGRADB 05HASCII_DA DB ?TABLE ENDSCODE SEGMENTASSUME CS:CODE,DS:TABLE
28、START: MOV AX,TABLEMOVDS,AXMOVBX,OFFSET TAB_DAMOVAL,GRAXLATMOV ASCII_DA,ALCODE ENDSEND START3.12 8086狀態(tài)標(biāo)志寄存器中,作為控制用的標(biāo)志位有(3 )個(gè),其中,不可用指令操作的是 (DF、IF、TF)3.13設(shè)當(dāng)前的SP=1000H,執(zhí)行PUSHF指令后,SP=( 0FFE H ),若改為執(zhí)行INT 20H指令后,貝U SP= (0FFA H )?!敬稹繄?zhí)行 PUSHF指令后,SP= (0FFE H )。執(zhí)行INT 20H指令后,則 SP= ( 0FFA H )。3.14設(shè)當(dāng)前 SS=2010H,
29、SP=FE00H,BX=3457H,計(jì)算當(dāng)前棧頂?shù)牡刂窞槎嗌伲慨?dāng)執(zhí)行 PUSH BX 指令 后,棧頂?shù)刂泛蜅m?2個(gè)字節(jié)的內(nèi)容分別是什么?【答】當(dāng)前棧頂指針 (SP)=2FF00H,物理地址=20100H+FE00H=2FF00H當(dāng)執(zhí)行PUSH BX 指令后,棧頂指針(SP) =FE00-2=FDFEH,棧頂物理地址=2FDFEH,棧頂 2個(gè)字節(jié)的內(nèi)容分別 57H,34H。3.15 HLT指令用在什么場合?如 CPU在執(zhí)行HLT指令時(shí)遇到硬件中斷并返回后,以下應(yīng)執(zhí)行哪條指 令?【答】HLT 用在使 CPU 處于暫停狀態(tài)而等待硬件中斷的場合。 在執(zhí)行HLT指令遇到硬件中斷并返回后將執(zhí)行HLT后面
30、的一條指令。3.16為什么用増量指令或減量指令設(shè)計(jì)程序時(shí),在這類指令后面不用進(jìn)位標(biāo)志作為判斷依據(jù)?【答】増量指令或減量指令不影響進(jìn)位標(biāo)志CF。3.17用普通運(yùn)算指令執(zhí)行 BCD碼運(yùn)算時(shí),為什么要進(jìn)行十進(jìn)制調(diào)整?具體講,在進(jìn)行BCD碼的加、減、乘、除運(yùn)算時(shí),程序段的什么位置必須加上十進(jìn)制調(diào)整指令?【答】在BCD碼中,采用4位二進(jìn)制數(shù)對一個(gè)十進(jìn)制數(shù)的編碼,只允許0 9這10個(gè)數(shù)字岀現(xiàn),但CPU運(yùn)算結(jié)果一般會超過此范圍,因此要進(jìn)行十進(jìn)制調(diào)整。進(jìn)行加、減法或乘法運(yùn)算時(shí),調(diào)整指令必須 緊跟在算術(shù)指令后面,在進(jìn)行除法運(yùn)算時(shí),調(diào)整指令放在除法指令之前。3.18中斷指令執(zhí)行時(shí),堆棧的內(nèi)容有什么變化?中斷處理子
31、程序的人口地址是怎樣得到的?【答】中斷指令執(zhí)行時(shí),堆棧內(nèi)容變化如下:標(biāo)志寄存器被推入堆棧,且SP減2,然后CPU將主程序的下一條指令地址即斷點(diǎn)地址推入堆棧,即段值CS推入堆棧且SP減2,偏移量推入堆棧,且 SP減2。中斷處理子程序的入口地址即中斷向量,對應(yīng)的中斷類型號的4倍即為中斷向量地址,在該地址處的4個(gè)字節(jié)內(nèi)容,高地址單元兩個(gè)字節(jié)為中斷入口地址的段地址,低地址單元兩個(gè)字節(jié)為中斷 入口地址的偏移地址。3.19中斷返回指令I(lǐng)RET和普通子程序返回指令 RET在執(zhí)行時(shí),具體操作內(nèi)容什么不同?【答】IRET從堆棧中依次彈岀斷點(diǎn)處指令指針I(yè)P、代碼段CS內(nèi)容與標(biāo)志寄存器的值,而RET從堆棧中依次彈出
32、斷點(diǎn)處指令指針I(yè)P值、代碼段CS內(nèi)容,不需要彈出標(biāo)志寄存器的值。3.20將存放在0A00H單元和0A02H單元的兩個(gè)無符號數(shù)相乘 ,結(jié)果存放在地址為 0A04H開始的單元中。 【答】參考程序:MOVAL,0A00HMOVBL,0A02HMULBLMOV0A04,AX3.21編程序?qū)X中數(shù),最高位保持不變,其余全部左移4位。【答】參考程序:MOVANDBX, AXBX ,8000HMOVCL, 4SHLAX, CLANDAX,7FFFHORAX, BX3.22將0400H單元中的數(shù),低4位置零,高4位保持不變。【答】參考程序:MOVAL, 0400HANDAL, 0F0HMOV0400H, A
33、L3.23將BX中的數(shù),對高位字節(jié)求反,低位字節(jié)保持不變。【答】參考程序:NOTBH3.24檢測Bx中第13位(D13),為0時(shí),把AL置0,為1時(shí),把AL置1?!敬稹繀⒖汲绦颍篢ESTBX,0010 0000 0000 0000BJZZEROMOVAL,01HHLTZERO:MOVAL,0HLT3.25利用字串操作指令將1000H10FFH 單元全部清零?!敬稹繀⒖汲绦颍篊LDMOVDI,1000HMOVCX,100HMOVAL,0REPSTOSB3.26從1000H開始,存放有200個(gè)字節(jié),要查岀字符#(ASCII碼為23H),把存放第一個(gè)#的單元地址送入BX中。【答】參考程序:CLDMO
34、VDI,1000HMOVCX,200MOVDX,CXMOVAL,23HREPNZSCASBJZFINDJMPNOFOUNDFOUND: DECDIMOVBX,DINOFOUND:HLT3.27編程計(jì)算(X+Y)*10)+Z)/X, X、Y、Z都是16位無符號數(shù),結(jié)果存在 RESULT開始的單元。【答】參考程序:MOVAX,XADDAX,YMOVMULBX,0AHBXADDAX,ZADCMOVDX,0HBX,XDIVBXMOVRESULT,AXMOVHLTRESULT+2,DX3.28用簡單指令編程求-3/2=?,將商存DL,余數(shù)存DH單元。用TD調(diào)試后,寫岀DL,DH的內(nèi)容【答】參考程序:MO
35、VAL,-3CBWMOVBL,2IDIVBLMOVDL,ALMOVDH,AHHLT習(xí)題四 匯編語言程序設(shè)計(jì)主要內(nèi)容:匯編語言程序設(shè)計(jì)。主要介紹匯編語言程序的設(shè)計(jì)方法與編程原理,重點(diǎn)掌握算術(shù)運(yùn)算程序、字符串處理程序、碼制轉(zhuǎn)換程序、子程序設(shè)計(jì)程序、常用DOS和BIOS功能調(diào)用程序、匯編語言常用偽指令。4.1分析執(zhí)行下列指令序列后的結(jié)果:1)MOVAX,1234HMOVBX,OOFFHANDAX,BX【答】(AX)=0034H2)MOVAL,01010101BANDAL,00011111B;(AL)=00010101BORAL,11000000B;(AL)=11010101BXORAL,000011
36、11B;(AL)=11011010BNOT AL【答】(AL)=00100101B3)MOVDL,05HMOVAX,0A00HMOVDS,AXMOVSI,0HMOVCX,0FHAGAIN:INCSICMP SI,DL LOOPNE AGAINHLT本程序?qū)崿F(xiàn)了什么功能?【答】在以0A001H開始的15個(gè)單元中查找 05H。4)MOVAX,DSEGADDRMOVDS, AXMOVES,AXMOVSI, OFFSET B1ADDRMOVDI,OFFSET B2ADDRMOVCX,NCLDREPMOVSBHLT答將 B1ADDR中N個(gè)字節(jié)數(shù)據(jù)傳送到5)MOVAX, 0HMOVDS,AXMOVES,
37、AXMOVAL,05HMOVDI,0A000HMOVCX,0FHCLD本程序?qū)崿F(xiàn)了什么功能?AGAINB2ADDR開始的15個(gè)存儲單元 。開始的15個(gè)單元中查找字節(jié)型數(shù)據(jù)05H,用條件循環(huán) LOOPNZ,控制數(shù)據(jù)05H的查找。4.2閱讀程序1).CLDLEADI, 0100HMOVCX, 0080HXORAX, AXREPSTOSWOA000H本程序?qū)崿F(xiàn)了什么功能?I將DS中起始地址為 0100H的128個(gè)字節(jié)單元清零?!敬稹緼GAIN:SCASBLOOPNE HLT本程序?qū)崿F(xiàn)了什么功能? 【答從地址MOVDX , 3F08HMOVAH , 0A2HMOVCL , 4SHLDX , CL;(D
38、X)=F080HMOVBL , AHSHLBL , CL;(BL)=20HSHRBL , CL;(BL)=02HORDL , BL;(DL)=82H【答將DX中的低4位數(shù)據(jù)8H分離岀來,將 AH中的低4位數(shù)據(jù)2H分離岀來,DL。4.4 已知程序段如下:MOVAX , 1234HMOVCL , 4ROLAX , CLDECAXMOVCX, 4MULCX試問:(1)每條指令執(zhí)行后,AX寄存器的內(nèi)容是什么?(2 )每條指令執(zhí)行后值分別是什么?(3)程序運(yùn)行結(jié)束時(shí),AX及DX寄存器的值為多少?答MOVAX , 1234H;(AX)=1234H, CF=SF=ZF=0MOVCL , 4合并為 82H存放
39、在答4.3試分析下列程序完成什么功能?, CF, SF 及 ZF 的MOVAL, 08HSALAL,01H;(AL)=00010000HMOVBL, ALMOVCL ,02HSALAL,CL;(AL)=01000000HADDAL,BL;(AL)=01010000H本程序?qū)崿F(xiàn)了什么功能? 將AL中的內(nèi)容乘以102).ROLAX,CL;(AX)=2341H ,CF=1,SF=ZF=0DECAX;(AX)=2340H, CF=1,SF=ZF=0MOVCX,4MULCX;(AX)= 8000H ,CF=ZF=0,SF=1,DX=04.5試分析下列程序段:ADDAX,BXJNCL2SUBAX,BXJN
40、C L3JMP SH0RTL5如果AX、BX的內(nèi)容給定如下:AXBX(1)14C6H80DCH(程序轉(zhuǎn)向L2)(2)B568H54B7H(程序轉(zhuǎn)向SHORTL5 )問該程序在上述情況下執(zhí)行后,程序轉(zhuǎn)向何處?【答】(1)程序轉(zhuǎn)向L2。(2)程序轉(zhuǎn)向 SH0RTL5。4.6以下為某個(gè)數(shù)據(jù)段,試問各個(gè)變量分別占多少字節(jié),該數(shù)據(jù)段共占多少字節(jié)?DATASEGMENTVAR1DW 9;2字節(jié)VAR2DD 10 DUP( ? ),2;44字節(jié)VAR3DB 2 DUP( ?,10 DUP( ?);22字節(jié)VAR4DB ' HOW ARE YOU'11字節(jié)DATAENDS【答】該數(shù)據(jù)段共占 7
41、9字節(jié)。4.7下列語句在存儲器中分別為變量分配多少字節(jié)空間?并畫岀存儲空間的分配圖VAR1DB 10, 2;2字節(jié)VAR2DW 5DUP (?),0;12字節(jié)VAR3DB ' HOW ARE YOU ?', $'13字節(jié)VAR4DD -1,1,0;2字節(jié)Var1Var2Var3Var410?FFH2?UP 00H?O00H?Y00H?01H?E00H?R00H?A00H?r 00H?W00H0O00H0H00H$4.8 編寫一段程序,比較兩個(gè)5字節(jié)的字符串 OLDS和NEWS,若相同,在RESULT置0,否則置0FFH 【答】參考程序:OLDSDB 1,2,3,4,5N
42、EWSDB 1,2,3,4,5RESULTDB ?MOVSI,OFFSETOLDSMOVDI,OFFSETNEWSMOVCX,10CLDREPCMPSBJNZNOEQU;串不相等轉(zhuǎn)MOVAL,0JMPOUTPTNOEQU:MOVAL,0FFHOUTPT:MOVRESULT,ALSTOP:JMPSTOP4.9編程求和Y=A1+ A2 +.+ A100 。其中 Ai為字節(jié)變量【答】參考程序:DATASEGMENTTABLEDW12, 3, 45,.?YALYAHDATADWDWENDSMIANPROCFARPUSHDSMOVAX, 0PUSHAXMOVAX, DATAMOVDS, AXMOVDX,
43、0XORAX, AXMOVBX, OFFSET TABLEMOVCX, 4CLCLP:ADDAX, BXJNCDONINCDXCLCDON:INCBXINCBXLOOPLPMOVYAL,AXMOVYAH,DXMAINENDPCODEENDSEND START內(nèi)存中以;清 AX;求和;指向下一個(gè)數(shù);未加完,繼續(xù);存和FIRST和SECOND開始的單元中分別存放著兩個(gè)16位組合的十進(jìn)制(BCD碼)數(shù),低位在,并存到以THIRD開始的單元。答參考程序:1325+9839=?DATASEGMENTFIRSTDB05H,02H,03H,01H ;SECOND DB09H,03H, 08H,09H;THI
44、RD DB20 DUP (?)DATAENDSSTACKSEGMENTST1DB100DUP ( ' SA')TOP1EQUST1 LENGTH ST1STACKENDSCODESEGMENTASUMMECS:CODE,DS:DATA,SS:STACKMAINPROCFARSTART: MOVAX, DAT;初始化數(shù)據(jù)段MOVDS, AXMOVAX, STACK;初始化堆棧段MOVSS, AXMOVAX, TOP1MOVSP, AXMOVCX, 4;計(jì)算4次MOVBX, OFFSET DAT1;取數(shù)據(jù)地址4.10前。編程序求這兩個(gè)數(shù)的組合的十進(jìn)制和MOVSI , OFFSET
45、DAT2;取數(shù)據(jù)地址MOVDI , OFFSET SUM;取結(jié)果地址MOVAH, OOH;將暫存標(biāo)志的AH清0DON1:MOVAL, BX;取第一個(gè)數(shù)SAHF;將AH中的標(biāo)志送標(biāo)志寄存器ADCAL, DI;與第二個(gè)數(shù)帶進(jìn)位加AAA;十進(jìn)制校正LAHF;將標(biāo)志寄存器內(nèi)容送 AHORAL, 30H;計(jì)算值拼成ASCII碼MOVDI, AL;存結(jié)果的ASCII碼INCBX;指向第一個(gè)數(shù)的下一位INCSI;指向第二個(gè)數(shù)的下一位INCDI;指向結(jié)果單元的下一位LOOPDON1;未計(jì)算完,繼續(xù)ANDAH, 01H;將最高位的進(jìn)位標(biāo)志送 AHORAH, 30H;最高位的進(jìn)位位拼成ASCII碼MOVDI, A
46、H;存結(jié)果的最高位MOVAH, 02H;調(diào)用DOS的02H功能顯示MOVCX, 05H;顯示數(shù)據(jù)的位數(shù)DON2:MOVDL,DI;顯示數(shù)據(jù)送DLINT21H;顯示DECDI;顯示數(shù)據(jù)所在存儲單元加一LOOPDON2;未顯示完,繼續(xù)MOVAH, 4CH;返回DOSINT21HRETMAINENDPCODEENDSENDSTART4.11試編程序,統(tǒng)計(jì)由40000H開始的16K個(gè)單元中所存放的字符“A “的個(gè)數(shù),并將結(jié)果存放在中?!敬稹繀⒖汲绦駾XDATASEGMENTDATA1DB'DFASFAAAFDFAAFFFA'COUNT EQU$-DATA1DATAENDSSTACKSE
47、GMENTSTADB 100DUP(?)TOPEQU LENGTHSTASTACKENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKBEGIN:MOVAX,DATAMOVDS,AXAX,STACK SS,AX AX,TOP SP,AX CX,COUNT DX,0 SI,DATA1 BL,'A' SI,BL OTHER DXMOVMOVMOVMOVMOVMOVLEAMOVNEXT :CMPJNZINCOTHER:INC SILOOP NEXTCODEENDSBLOCKDB -1,-3,5,6,-2,0,20,10PLUS_DDB8 DUP(?);正數(shù)緩
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年增強(qiáng)現(xiàn)實(shí)焰火互動(dòng)體驗(yàn)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年可穿戴人工舌頭味覺增強(qiáng)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 基于熔鹽槽式光熱發(fā)電的風(fēng)光熱儲一體化發(fā)電系統(tǒng)運(yùn)行策略與經(jīng)濟(jì)性分析
- 基于多源數(shù)據(jù)的香洲埠歷史文化街區(qū)街巷空間活力再生設(shè)計(jì)策略研究
- 基于轉(zhuǎn)錄組和代謝組探討非酒精性脂肪肝炎動(dòng)態(tài)發(fā)病機(jī)制及轉(zhuǎn)化熊膽粉干預(yù)機(jī)制研究
- 2025年度國有土地儲備開發(fā)項(xiàng)目合同范本
- 2025年度廣告牌知識產(chǎn)權(quán)保護(hù)與侵權(quán)處理合同
- 2025年度教室租賃合同糾紛解決策略
- 2025年度應(yīng)收賬款質(zhì)押借款合同范例
- 2025年家庭暖氣管道施工與維修保養(yǎng)服務(wù)合同
- 贏在團(tuán)隊(duì)執(zhí)行力課件
- 北京理工大學(xué)應(yīng)用光學(xué)課件第四章
- 陰道鏡幻燈課件
- 現(xiàn)代漢語詞匯學(xué)精選課件
- PCB行業(yè)安全生產(chǎn)常見隱患及防范措施課件
- 上海音樂學(xué)院 樂理試題
- SAP中國客戶名單
- DB32∕T 186-2015 建筑消防設(shè)施檢測技術(shù)規(guī)程
- 2022年福建泉州中考英語真題【含答案】
- 淺談固定資產(chǎn)的審計(jì)
- WZCK-20系列微機(jī)直流監(jiān)控裝置使用說明書(v1.02)
評論
0/150
提交評論