版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.8086CPU由哪幾個(gè)部件構(gòu)成?它們的主要功能各是什么?
8086CPU由指令執(zhí)行部件EU和總線接口部件BIU兩個(gè)部份組成。指令執(zhí)行部件主要
功能是執(zhí)行指令??偩€接口部件的主要功能是完成訪問(wèn)存儲(chǔ)器或I/O端口的操作:
形成訪問(wèn)存儲(chǔ)器的物理地址;
訪問(wèn)存儲(chǔ)器取得指令并暫存到指令隊(duì)列中等待執(zhí)行;
訪問(wèn)存儲(chǔ)器或I/O端口以讀取操作數(shù)參與EU運(yùn)算,或存放運(yùn)算結(jié)果。
2.什么是邏輯地址?什么是物理地址?它們各自如何表示?如何轉(zhuǎn)換?
程序中使用的存儲(chǔ)器地址稱為邏輯地址,由16位"段基址"和16位"偏移地址"(段
內(nèi)地址)組成。段基址表示一個(gè)段的起始地址的高16位。偏移地址表示段內(nèi)的一個(gè)單元距
離段開(kāi)始位置的距離。訪問(wèn)存儲(chǔ)器的實(shí)際地址稱為物理地址,用20位二進(jìn)制表示。將兩個(gè)
16位二進(jìn)制表示的邏輯地址錯(cuò)位相加,可以得到20位的物理地址:
物理地址=段基址X16+偏移地址
在32位CPU的保護(hù)模式下,"邏輯地址”的表示產(chǎn)生了一些變化,請(qǐng)參考第8章的相關(guān)
內(nèi)容。
3.什么是"堆棧"?它有什么用處?在使用上有什么特點(diǎn)?
堆棧是內(nèi)存中的一塊存儲(chǔ)區(qū),用來(lái)存放專用數(shù)據(jù)。例如,調(diào)用子程序時(shí)的入口參數(shù)、返
回地址等,這些數(shù)據(jù)都技照“先進(jìn)后出”的規(guī)則進(jìn)行存取。SS存放堆棧段的段基址,SP存
放當(dāng)前堆棧棧頂?shù)钠频刂?。?shù)據(jù)進(jìn)出堆棧要使用專門的堆棧操作指令,SP的值在執(zhí)行堆
棧操作指令時(shí)根據(jù)規(guī)則自動(dòng)地進(jìn)行修改。
4.設(shè)X=36H,Y=78H,進(jìn)行X+Y和X-丫運(yùn)算后FLAGS寄存器各狀態(tài)標(biāo)志位各是
什么?
X=36H=00110110B
X=36H=00110110B
Y=78H=01111000B(-
Y=78H=01111000B(+
仁10111110B
~1010111OB
CF=1,SF=1,OF=0,PF=1,ZF=0,
CF=O,SF=1,OF=1,PF=O,ZF=O,
5.按照傳輸方向和電氣特性劃分,CPU引腳信號(hào)有幾種類型?各適用于什么場(chǎng)合?
CPU引腳傳輸?shù)男盘?hào)按照傳輸方向劃分,有以下幾種類型:
輸出:信號(hào)從CPU向外部傳送;
輸入:信號(hào)從外部送入CPU;
雙向:信號(hào)有時(shí)從外部送入CPU,有時(shí)從CPU向外部傳送。
雙向信號(hào)主要用于數(shù)據(jù)信號(hào)的傳輸;輸出信號(hào)用于傳輸?shù)刂沸盘?hào)和一些控
制信號(hào);輸入信號(hào)主要用于傳輸外部的狀態(tài)信號(hào)(例如READY)和請(qǐng)求(中斷、
DMA)信號(hào)。
按照信號(hào)的電器特性劃分,有以下幾種類型:
一般信號(hào):用來(lái)傳輸數(shù)據(jù)/地址信號(hào)時(shí),高電平表示"1”,低電平表示"0";用來(lái)
表示正邏輯的控制/狀態(tài)信號(hào)時(shí),"1"表示有效,"0"表示信號(hào)無(wú)效;
用來(lái)表示負(fù)邏輯的控制/狀態(tài)信號(hào)時(shí),"0"表示有效,"1"表示信號(hào)
無(wú)效。
三態(tài)信號(hào):除了高電平、低電平兩種狀態(tài)之外,CPU內(nèi)部還可以通過(guò)一個(gè)大的電
阻阻斷內(nèi)外信號(hào)的傳送,CPU內(nèi)部的狀態(tài)與外部相互隔離,也稱為‘懸
浮態(tài)“。CPU放棄總線控制權(quán),允許其他設(shè)備使用總線時(shí),將相關(guān)信
號(hào)置為"懸浮態(tài)"。
8.分析8086CPU兩個(gè)中斷輸入引腳的區(qū)別,以及各自的使用場(chǎng)合。
INTR用于輸入可屏蔽中斷請(qǐng)求信號(hào),電平觸發(fā),高電平有效。中斷允許標(biāo)志IF=1時(shí)
才能響應(yīng)INTR上的中斷請(qǐng)求。
NMI用于輸入不可屏蔽中斷請(qǐng)求信號(hào),上升沿觸發(fā),不受中斷允許標(biāo)志的限制。CPU
一旦測(cè)試到NMI請(qǐng)求有效,當(dāng)前指令執(zhí)行完后自動(dòng)轉(zhuǎn)去執(zhí)行類型2的中斷服務(wù)程序。
NMI引腳用于連接CPU外部的緊急中斷請(qǐng)求,例如內(nèi)存校驗(yàn)錯(cuò),電源掉電報(bào)警等。INTR
引腳用于連接一般外部設(shè)備的中斷請(qǐng)求。
9.什么是時(shí)鐘周期、總線周期、指令周期?它們的時(shí)間長(zhǎng)短取決于哪些因素?
時(shí)鐘周期:CPU連接的系統(tǒng)主時(shí)鐘CLK一個(gè)周期的時(shí)間。CLK信號(hào)頻率越高,時(shí)鐘
周期越短。
總線周期:CPU通過(guò)外部總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次讀/寫(xiě)操作的過(guò)程稱為總線
周期。8086CPU總線周期一般由四個(gè)時(shí)鐘周期組成,存儲(chǔ)器/I0設(shè)備(接口)速度不能滿足
CPU要求時(shí),可以增加一個(gè)或多個(gè)時(shí)鐘周期。
指令周期:CPU執(zhí)行一條指令的時(shí)間(包括取指令和執(zhí)行該指令所需的全部時(shí)間)稱
為指令周期。指令周期的時(shí)間主要取決于主時(shí)鐘的頻率和指令的復(fù)雜程度,它也受到存儲(chǔ)器
或I0設(shè)備接口工作速度的影響。
習(xí)題二
1.內(nèi)存儲(chǔ)器主要分為哪兩類?它們的主要區(qū)別是什么?
內(nèi)存儲(chǔ)器分為隨機(jī)存取存儲(chǔ)器RAM(RadomAccessMemory)和只讀存儲(chǔ)器ROM(Read
OnlyMemory)兩類。
RAM中信息可以按地址讀出,也可以按地址寫(xiě)入。RAM具有易失性,掉電后原來(lái)存儲(chǔ)
的信息全部丟失,不能恢復(fù)。
ROM中的信息可以按地址讀出,但是在普通狀態(tài)下不能寫(xiě)入,它的內(nèi)容一般不能被改
變。ROM具有“非易失性",電源關(guān)閉后,其中的信息仍然保持。
2.說(shuō)明SRAM、DRAM、MROM、PROM和EPROM的特點(diǎn)和用途。
SRAM:靜態(tài)RAM,讀寫(xiě)速度快,但是集成度低,容量小,主要用作Cache或小系統(tǒng)
的內(nèi)存儲(chǔ)器。
DRAM:動(dòng)態(tài)RAM,讀寫(xiě)速度慢于靜態(tài)RAM,但是它的集成度高,單片容量大,現(xiàn)代
微型計(jì)算機(jī)的"主存"均由DRAM構(gòu)成。
MROM:掩膜ROM,由芯片制作商在生產(chǎn)、制作時(shí)寫(xiě)入其中數(shù)據(jù),成本低,適合于批
量較大、程序和數(shù)據(jù)已經(jīng)成熟、不需要修改的場(chǎng)合。
PROM:可編程ROM,允許用戶自行寫(xiě)入芯片內(nèi)容。芯片出廠時(shí),所有位均處于全"0"
或全"1"狀態(tài),數(shù)據(jù)寫(xiě)入后不能恢復(fù)。因此,PROM只能寫(xiě)入一次。
EPROM:可擦除可編程只讀存儲(chǔ)器,可根據(jù)用戶的需求,多次寫(xiě)入和擦除,重復(fù)使用。
用于系統(tǒng)開(kāi)發(fā),需要反復(fù)修改的場(chǎng)合。
3.已知一個(gè)SRAM芯片的容量為8Kx8b,該芯片有一個(gè)片選信號(hào)引腳和一個(gè)讀/寫(xiě)控
制引腳,問(wèn)該芯片至少有多少個(gè)引腳?地址線多少條?數(shù)據(jù)線多少條?
根據(jù)存儲(chǔ)芯片地址線數(shù)量計(jì)算公式,k=Iog2(1024*8)=Iog2(213)=13,即總計(jì)有13
根地址線。另有8根數(shù)據(jù)線、2根電源線。所以該芯片至少有25(=13+8+1+1+2)根引腳。
4.巳知一個(gè)DRAM芯片外部引腳信號(hào)中有4根數(shù)據(jù)線,7根地址線,計(jì)算它的容量。
根據(jù)存儲(chǔ)容量計(jì)算公式S=2kxI,可得該芯片的存儲(chǔ)容量為:2'4*4=16Kx4bit(位),
也可表示為64Kb=8KB(字節(jié))。
5.32Mx8b的DRAM芯片,其外部數(shù)據(jù)線和地址線為多少條?
根據(jù)存儲(chǔ)芯片地址線數(shù)量計(jì)算公式,k=Iog2(1024*1024*32)=Iog2(225)=25,即需
要25根地址線。但是,由于DRAM芯片的地址采用分時(shí)輸入的方法,所以實(shí)際需要的地址
線只有理論值的一半,此處為13根。數(shù)據(jù)線8根。
6.DRAM為什么需要定時(shí)刷新?
DRAM靠MOS管極間電容存儲(chǔ)電荷的有無(wú)決定所存信息是。還是1,由于漏電流的存
在,它存儲(chǔ)的信息不能長(zhǎng)時(shí)間保存,需要定時(shí)重新寫(xiě)入,稱為“刷新"。
7.74LS138譯碼器的接線如圖2.28所示,寫(xiě)出丫°、而、匯、安所決定的內(nèi)存地址范
圍。
從圖看出,該存儲(chǔ)系統(tǒng)的片內(nèi)地址線有13根(A12-A0),是一個(gè)由8KB存儲(chǔ)芯片組成
的存儲(chǔ)系統(tǒng),A17地址線不確定。它的地址分布為:
74SI38
00?0,CBA?,????,????,????
其中,CBA作為譯碼輸入,與輸出選擇有關(guān);
"?"表示可以為"0",也可以為"1"。
于是:
%對(duì)應(yīng)的內(nèi)存地址范圍是:
00000H—01FFFH;或20000H—21FFFHO圖2-28譯碼
%對(duì)應(yīng)的內(nèi)存地址范圍是:
04000H—05FFFH;或24000H—25FFFHO
%對(duì)應(yīng)的內(nèi)存地址范圍是:
08000H—09FFFH;或28000H—29FFFHO
%對(duì)應(yīng)的內(nèi)存地址范圍是:
0C000H—0DFFFH;或2C000H—2DFFFHo
8.
9.下列容量的ROM芯片除電源和地線,還有多少個(gè)輸入引腳和輸出引腳?寫(xiě)出信號(hào)名
稱。
(1)64x4(2)512x8(3)128Kx8(4)16Kx8(5)1Mx16
根據(jù)存儲(chǔ)容量計(jì)算公式可得以上各芯片的地址、數(shù)據(jù)引腳分別為:
64x4:地址線k=Iog2(64)=Iog2()=6根,數(shù)據(jù)線=4根;
512X8:地址線k=Iog2(512)=Iog2(2。)=9根,數(shù)據(jù)線=8根;
128kx8:地址線k=Iog2(128*1024)=Iog2(2”)=17根,數(shù)據(jù)線=8根;
16kx8:地址線k=Iog2(16*1024)=Iog2(2“)=14根,數(shù)據(jù)線=8根;
1Mx16:地址線k=Iog2(1024*1024)=Iog2(220)=20根,數(shù)據(jù)線=16根。
此外,所有ROM芯片都需要一根片選信號(hào)引腳;
對(duì)于PROM,EPROM通常還需要"輸出允許"和"編程脈沖”輸入引腳。
EEPROM芯片除了有"片選"、"輸出允許"和"寫(xiě)允許”外,通常還有表示“寫(xiě)入完
成"的狀態(tài)信號(hào)引腳。
10.已知RAM芯片的容量為
(1)16Kx8(2)32Kx8(3)64Kx8(4)2K、8
如果RAM的起始地址為3400H、則各RAM對(duì)應(yīng)的末地址為多少?
存儲(chǔ)器的末地址=首地址+芯片內(nèi)字節(jié)數(shù)(容量)-1
上述各芯片對(duì)應(yīng)RAM的末地址為:
16Kx8:末地址是3400H+4000H-1=73FFH
32Kx8:末地址是3400H+8000H-1=B3FFH
64Kx8:末地址是3400H+10000H-1=133FFH
2Kx8:末地址是3400H+800H-1=3BFFH
11.如果存儲(chǔ)器起始地址為1800H,末地址為1FFFH,求該存儲(chǔ)器的容量。
該存儲(chǔ)器的容量為:
(1FFFH-1800H+1)x8=800Hx8,該存儲(chǔ)器有2048、8個(gè)位,也可以寫(xiě)作2KB。
12.有一個(gè)存儲(chǔ)體,其地址線15條,數(shù)據(jù)線8條,則
1)該存儲(chǔ)體能夠存儲(chǔ)多少個(gè)漢字?
2)如果該存儲(chǔ)體由2Kx4位的芯片組成,需要多少片?
3)采用什么方法擴(kuò)展?分析各位地址線的使用。
該存儲(chǔ)體容量為215X8=32KB,存儲(chǔ)一個(gè)漢字需要二個(gè)字節(jié),因此,它能夠存儲(chǔ)16384
(16K)個(gè)漢字。
需要2K*4位的芯片32片,[(32Kx8)/(2Kx4)=32]。
可采用字位全擴(kuò)展方法,由2片4位的芯片組成1組8位的存儲(chǔ)單元,16組擴(kuò)展成32K
的8位存儲(chǔ)體。芯片直接使用的地址線(片內(nèi)地址)11根(A0-A10),另外需要4根高位地
址,連接到4-16譯碼器輸入端,產(chǎn)生16個(gè)譯碼信號(hào)用作16個(gè)芯片組的片選信號(hào)。剩余的
地址線用來(lái)確定該存儲(chǔ)體的首地址。
13.
14.利用全地址譯碼將6264芯片接到8088系統(tǒng)總線上,地址范圍為30000H~31FFFH,
畫(huà)出邏輯圖。
全地址譯碼可以保證存儲(chǔ)器芯片上的每一個(gè)單元在整個(gè)內(nèi)存空間中具有唯一的、獨(dú)占的
一個(gè)地址。參考教材相關(guān)內(nèi)容,6264芯片有13根地址線,剩余的高位7根地址線通過(guò)譯碼
組合確定該芯片的起始地址(30000HX
8088有純BUS
由30000H地址得出對(duì)應(yīng)的地址線狀態(tài)為:
00110000000000000000
可以看出Ai3~Ai9地址線為00”000,所以譯碼組
合應(yīng)邏輯為:
CSi_A13.Ai4.A15.A.A.Ais.A19
—16**17
=(Ai3.A14.A15.A18,A19)(A16-A17)
=A13+A14+A15+A18+A19+A16-A17
具體邏輯如右圖所示。
15.若用2164芯片構(gòu)成容量為128KB的存儲(chǔ)器,需全地址譯碼連接圖
多少片2164?至少需多少根地址線?其中多少
根用于片內(nèi)尋址?多少根用于片選譯碼?
2164A是容量為64Kx1位的動(dòng)態(tài)隨機(jī)存儲(chǔ)器芯片,核128KB的存儲(chǔ)器需要2164A
芯片16片[128Kx8/(64Kx1)=16]。
由于地址空間為128K,需要的地址線總數(shù)為17根(2=128K)0其中,片內(nèi)地址線16
根(2,6=64K),片選地址線1根(17-16=1,1每8個(gè)2164芯片構(gòu)成一組,進(jìn)行位擴(kuò)展,
得到64KB存儲(chǔ)器。兩個(gè)這樣的"組"進(jìn)行地址擴(kuò)展,構(gòu)成128KB的存儲(chǔ)器。
16.某8088系統(tǒng)用2764ROM芯片和6264SRAM芯片構(gòu)成16KB的內(nèi)存。其中,RAM
的地址范圍為FC000H-FDFFFH,ROM的地址范圍為FE000H-FFFFFH。試?yán)?/p>
74LS138譯碼,畫(huà)出存儲(chǔ)器與CPU的連接圖,并標(biāo)出總線信號(hào)名稱。
2764和6264均為8KB的存儲(chǔ)芯片,需要13根地址線(Ao-Ai2)用于片內(nèi)尋址。8088
系統(tǒng)的其他地址線(A13~A19)用于產(chǎn)生片選信號(hào)。
FC000H的地址線狀態(tài)為:11111100000000000000
FE000H的地址線狀態(tài)為:11111110000000000000
將Ai3~Al5用作譯碼輸入,其他地址(A16~A19=1111)用作譯碼控制,可以得到如下譯
碼控制電路,連接如下圖所示。
M
a
a
2
M
N
m
a
M
M
M
ILIU
B
b
cbc
17.存儲(chǔ)周期指的是(A\
A.存儲(chǔ)器進(jìn)行連續(xù)讀或?qū)懖僮魉试S的最短時(shí)間間隔B.存儲(chǔ)器的讀出周期
C.存儲(chǔ)器進(jìn)行連續(xù)寫(xiě)操作所允許的最短時(shí)間間隔D.存儲(chǔ)器的寫(xiě)入周期
存儲(chǔ)周期是指連續(xù)兩次訪問(wèn)存儲(chǔ)器之間所需的最小時(shí)間。存取時(shí)間是CPU訪問(wèn)一次存
儲(chǔ)器(寫(xiě)入和讀出)所需的時(shí)間。存儲(chǔ)周期等于存取時(shí)間加上存儲(chǔ)器的恢復(fù)時(shí)間。
所以應(yīng)選擇A.
18.某一EPROM芯片,其容量為32Kx8,除電源和地線外,最小的輸入引腳和輸出引
腳分別為(C\
A.15和8;B.32和8;C.17和8;D.18和10;
容量為32Kx8的EPROM芯片,其數(shù)據(jù)線為8根,地址線為15根,片選線1根,讀
寫(xiě)控制線1根。其中地址線、片選線、讀寫(xiě)控制線均為EPROM的輸入信號(hào),共17根。數(shù)
據(jù)線在正常工作狀態(tài)下用于EPROM輸出,計(jì)8根。
所以應(yīng)選擇G
習(xí)題三
1.如果用24b儲(chǔ)存一個(gè)無(wú)符號(hào)數(shù),這個(gè)數(shù)的范圍是什么?如果儲(chǔ)存的是一個(gè)補(bǔ)碼表示
的有符號(hào)數(shù),那么這個(gè)數(shù)的范圍又是什么?
答:如果用24b儲(chǔ)存一個(gè)無(wú)符號(hào)數(shù),這個(gè)數(shù)的范圍應(yīng)為:0~224.1
如果用24b儲(chǔ)存一個(gè)補(bǔ)碼表示的有符號(hào)數(shù),這個(gè)數(shù)的范圍應(yīng)為:-223~+223-1
2.用符號(hào)"〉"把下面的數(shù)按從大到小的順序“連接”起來(lái)
[X1]?=10110111[X2]?=10110111[X3]反=10110111[X4]?=10110110[X5]無(wú)符號(hào)政
=10110111
解:X1=-01001001B,X2=-0110111B,X3=-01001000B,X4=-01001010B,X5=+1011
0111B
因此:X5>X2>X3>X1>X4
3.用8位補(bǔ)碼完成下列運(yùn)算,用二進(jìn)制“真值”的格式給出運(yùn)算結(jié)果,并指出運(yùn)算后
CF、OF、ZF、SF、PF標(biāo)志位的狀態(tài)。
(1)127+126(2)126-127(3)-100-120(4)-100-(-120)
解:(1)127+126
[127]補(bǔ)=01111111,[126]補(bǔ)=01111110,
[127+126]#=11111101,[127+126]=-00000011(溢出)
COZSP=01010
(2)126-127
[126]^=01111110r[-127]?=10000001,
[126-127]補(bǔ)=11111111,[126-127]=-0000001
COZSP=10011
(3)-100-120
[-100]^=10011100,[-120]4=10001000,
[-100-120]4=00100100,[-100-120]=+00100100(溢出)
COZSP=01001
(4)-100-(-120)
[-100]lb=10011100,[-120]4=10001000,[[-120]補(bǔ)]求補(bǔ)=01111000,
[-100-(-120)]補(bǔ)=00010100,[-100-(-120)]=+00010100
COZSP=00001
4.把二進(jìn)制代碼1001011101011000分別〃看作〃是:
(1)二進(jìn)制無(wú)符號(hào)數(shù)(2)二進(jìn)制補(bǔ)碼(3)壓縮BCD碼(4)非壓縮BCD碼
哪一種情況下它代表的〃值〃最大?
答:看作二進(jìn)制無(wú)符號(hào)數(shù)時(shí),它代表的“值〃最大。
分析:看作二進(jìn)制補(bǔ)碼時(shí),它代表一個(gè)負(fù)數(shù),而其它的情況下,它均為正數(shù)。因此,看作二
進(jìn)制補(bǔ)碼時(shí),它代表的值最小。
把這組代碼用十六進(jìn)制數(shù)字形式寫(xiě)出:9758
對(duì)于無(wú)符號(hào)數(shù),它的值等于十六進(jìn)制的9758H;
對(duì)于壓縮BCD碼,它的值等于十進(jìn)制的9758,顯然小于9758H;
對(duì)于非壓縮BCD碼,它的值等于十進(jìn)制的78,顯然更小于9758H;
因此,看作二進(jìn)制無(wú)符號(hào)數(shù)時(shí),它代表的“值“最大。
5.某數(shù)據(jù)段內(nèi)有如下數(shù)據(jù)定義:
Xdb30,30H,'ABC1,2-3,?,1100101OB
dwOFFH,-2,"CD"
dd20dup(15,3dup(?),0)
Zdb3dup(?)
WdwZ-X
假設(shè)變量X的偏移地址為20H
(1)寫(xiě)出變量X各數(shù)據(jù)在內(nèi)存中的具體位置和相關(guān)內(nèi)存單元的值。
(2)寫(xiě)出變量Y,Z的偏移地址。
(3)寫(xiě)出變量W的值0020H1EHX
答:(1)變量X各數(shù)據(jù)在內(nèi)存中的具體位置和相關(guān)內(nèi)存單元30H
41H
的值如右圖。
42H
變量丫的偏移地址為002EH;43H
變量Z的偏移地址為002EH+4x5x20=01BEHOFFH
OOH
變量W的值等于變量Z和X偏移地址之差
0CAH
01BEH-0020H=019EH
它等于變量X、丫所占用內(nèi)存單元的字節(jié)數(shù)。OFFH
OOH
6.OFEH
7.OFFH
8.現(xiàn)有(DS)=2000H,(BX)=0100H,(SI)=0002H,(201OOH)44H
43H
=12Hz(20101H)=34H,(20102H)=56H,(20103H)=78H,
002EHY
(21200H)=2AHf(21201H)=4CH,(21202H)=0B7H,
(21203H)=65H,說(shuō)明下列指令執(zhí)行后AX寄存器的內(nèi)容。
(1)MOVAX,1200H
(2)MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)MOVAX,1100H[BX]
(6)MOVAX,[BX][SI]
(7)MOVAX,1100H[BX][SI]
答:(1)指令MOVAX,1200H執(zhí)行后,(AX)=1200H(立即數(shù)操作數(shù))。
(2)指令MOVAX,BX執(zhí)行后,(AX)=0100H(寄存器操作數(shù))。
(3)指令MOVAX,[1200H]執(zhí)行后,(AX)=4C2AH(直接地址,EA=1200H)
(4)指令MOVAX,[BX]執(zhí)行后,(AX)=3412H(寄存器間接尋址,EA=0100H
(5)指令MOVAX,1100H[BX]執(zhí)行后,(AX)=4C2AH(相對(duì)地址,EA=1200H
(6)指令MOVAX,[BX][SI]執(zhí)行后,(AX)=7856H(基址變址尋址,EA=0102H
(7)指令MOVAX,1100H[BX][SI]執(zhí)行后,(AX)=65B7H
(相對(duì)基址變址尋址,EA=1202H)
9.下面兩條指令的功能有什么區(qū)別?
MOVAX,BX
MOVAX,[BX]
答:指令"MOVAX,BX”把BX寄存器的內(nèi)容裝入到AX中。
指令"MOVAX,[BX]"把內(nèi)存儲(chǔ)器一個(gè)字的內(nèi)容裝入AX寄存器。該字的段基址
在DS中,偏移地址在BX中。
10.
11.
12.
13.編寫(xiě)循環(huán)結(jié)構(gòu)程序,進(jìn)行下列計(jì)算,結(jié)果存入RESULT內(nèi)存單元
(1)1+2+3+4+5+6+?+100
(2)1+3+5+7+9+11+,,+99
(3)2+4+6+8+10+?+100
(4)1+4+7+10+13+,,+100
(5)11+22+33+44+?+99
解:
(1)CODESEGMENT
ASSUMECS:CODE
RESULTDW?
START:
XORAX,AX
MOVCX,100
AGAIN:ADDAX,CX
LOOPAGAIN
MOVRESULT,AX
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
(2)CODESEGMENT
ASSUMECS:CODE
RESULTDW?
START:
XORAX,AX
MOVCX,50
MOVBX,1
AGAIN:ADDAX,BX
ADDBX,2
LOOPAGAIN
MOVRESULT,AX
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
(3)CODESEGMENT
ASSUMECS:CODE
RESULTDW?
START:
XORAX,AX
MOVCX,50
MOVBX,2
AGAIN:ADDAX,BX
ADDBX,2
LOOPAGAIN
MOVRESULT,AX
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
(4)CODESEGMENT
ASSUMECS:CODE
RESULTDW?
START:
XORAX,AX
MOVCX,34
MOVBX,1
AGAIN:ADDAX,BX
ADDBX,3
LOOPAGAIN
MOVRESULT,AX
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
CODESEGMENT
ASSUMECS:CODE
RESULTDW?
START:
XORAX,AX
MOVCX,9
MOVBX,11
AGAIN:ADDAX,BX
ADDBX,11
LOOPAGAIN
MOVRESULT,AX
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
14.
15.
16.
17.編寫(xiě)程序,從鍵盤(pán)上輸入20個(gè)十進(jìn)制數(shù)字,求這些數(shù)字的和,向顯示器輸出。
INCLUDEYLIB.H
DATASEGEMNT
MESS1DBODH,OAH,,Input20decimaldigitsplease:$?
MESS2DBODH,OAH,,Theirsumis:$?
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:
MOVAX,DATA
MOVDS,AX
LEADX,MESS1
MOVAH,09H
INT21H;輸出提示信息
XORBX,BX;BX用作累加器,清零
MOVCX,20;循環(huán)計(jì)數(shù)器置初值
AGAIN:
MOVAH,01H
INT21H;輸入一個(gè)數(shù)字(在AL中)
ANDAL,OFH;轉(zhuǎn)換成二進(jìn)制數(shù)
ADDBL,AL;累加
ADCBH,0
LOOPAGAIN
LEADX,MESS2
MOVAX,BX
CALLWRITEDEC;輸出20個(gè)數(shù)字的和
CALLCRLF
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
18.閱讀以下程序,指出它的功能。
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
答:把32位二進(jìn)制代碼(DX,AX)聯(lián)合左移4位。
19.已知(DX)=0B9H,(CL)=3,(CF)=1,確定下列指令單獨(dú)執(zhí)行以后DX寄存器的
值。
(1)SHRDX,1
(2)SARDX,CL
(3)RORDX,CL
(4)ROLDX,CL
(5)SALDH,1
(6)RCLDX,CL
答:
(1)指令“SHRDX,1”執(zhí)行之后,(DX)=005CH
(2)指令"SARDX,CL”執(zhí)行之后,(DX)=0017H
(3)指令“RORDX,CL〃執(zhí)行之后,(DX)=2017H
(4)指令“ROLDX,CL”執(zhí)行之后,(DX)=05C8H
(5)指令"SALDH,1”執(zhí)行之后,(DX)=00B9H
(6)指令"RCLDX,CL”執(zhí)行之后,(DX)=05CCH
20.寫(xiě)程序,從鍵盤(pán)上輸入一個(gè)0-65535之間的十進(jìn)制無(wú)符號(hào)數(shù),然后用二進(jìn)制格式輸
出這個(gè)值。例如,鍵盤(pán)輸入“35〃,顯示器輸出“000000000010001
答:INCLUDEYLIB.H
DATASEGEMNT
MESS1DBODH,OAH,,Inputaunsigneddecimalintegernumberplease:$?
MESS2DBODH,OAH,,Thenumberinbinaryis:$?
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:
MOVAX,DATA
MOVDS,AX
LEADX,MESS1
CALLREADDEC;輸入一個(gè)無(wú)符號(hào)整數(shù)
MOVBX,AX;轉(zhuǎn)存入BX
LEADX,MESS2
MOVAH,09H
INT21H;輸出提示信息
MOVCX,16;循環(huán)計(jì)數(shù)器置初值
AGAIN:SHLBX,1;向左外移一位,進(jìn)入CF
MOVDL,30H
ADCDL,0;形成一位二進(jìn)制數(shù)字的ASCII代碼
MOVAH,2
INT21H;輸出一個(gè)二進(jìn)制數(shù)字
LOOPAGAIN;循環(huán)16次
CALLCRLF
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
21.無(wú)符號(hào)數(shù)變量X用DD定義,編寫(xiě)程序,用十六進(jìn)制格式輸出變量X的值。
答:
DATASEGEMNT
XDD36895471;一個(gè)32B長(zhǎng)整數(shù)
MESSDB0DH,0AH,,TheXinhexdecimalis:$?
HEXTABDB,0123456789ABCDEF?
DATAENDS
CODESEGMENTUSE16
ASSUMECS:CODE,DS:DATA
START:
MOVAX,DATA
MOVDS,AX
LEADX,MESS
MOVAH,09H
INT21H輸出前導(dǎo)信息
MOVSI,wordptrX+2將X高16位存入SI
MOVCX,4循環(huán)計(jì)數(shù)器置初值
LEABX,HEXTAB換碼表首地址裝入BX
AGAIN1:ROLSI,4;把最高4位移到最低4位上
MOVAX,SI低8位轉(zhuǎn)入AL
ANDAX,000FH清除高4位
XLAT;轉(zhuǎn)換成十六進(jìn)制數(shù)字的ASCII代碼
MOVDL,AL
MOVAH,2
INT21H;輸出一個(gè)十六進(jìn)制數(shù)字
LOOPAGAIN1循環(huán)8次
MOVSI,wordptrX低16位存入SI
MOVCX,4循環(huán)計(jì)數(shù)器置初值
AGAIN2:ROLSI,4;把最高4位移到最低4位上
MOVAX,SI低8位轉(zhuǎn)入AL
ANDAX,000FH清除高4位
XLAT;轉(zhuǎn)換成十六進(jìn)制數(shù)字的ASCII代碼
MOVDL,AL
MOVAH,2
INT21H;輸出一個(gè)十六進(jìn)制數(shù)字
LOOPAGAIN2循環(huán)8次
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
22.編寫(xiě)指令序列,把AX中的16b二進(jìn)制分為4組,每組4b,分別置入AL,BL,CL
DL中。
答:MOVDX,AX最低4位直接進(jìn)入DX
MOVCX,4
ROLAX,CL;最高4位移入最低4位
PUSHAX壓入堆棧保存(準(zhǔn)備送入AL)
ROLAX,CL;次高4位移入最低4位
MOVBX,AX送入BL
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《密封件基礎(chǔ)知識(shí)》課件
- 2024年貴州建設(shè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 單位管理制度集合大全人事管理十篇
- 單位管理制度匯編大全人事管理
- 單位管理制度合并匯編【人員管理】
- 單位管理制度呈現(xiàn)匯編職工管理篇十篇
- 單位管理制度呈現(xiàn)大全人員管理
- 《礦山勞動(dòng)衛(wèi)生》課件
- 《生活中的問(wèn)題》課件
- 《安全防護(hù)欄標(biāo)準(zhǔn)》課件
- 外研版四年級(jí)英語(yǔ)下冊(cè)(一年級(jí)起點(diǎn))全冊(cè)完整課件
- MF47萬(wàn)用表組裝與檢測(cè)教學(xué)教案
- 防止電力生產(chǎn)事故的-二十五項(xiàng)重點(diǎn)要求(2023版)
- 教研室主任崗位申請(qǐng)書(shū)
- 職業(yè)培訓(xùn)師的8堂私房課:修訂升級(jí)版
- 改擴(kuò)建工程施工圖設(shè)計(jì)說(shuō)明
- 壯族文化的靈魂廣西花山巖畫(huà)
- 概算實(shí)施方案
- 單片機(jī)英文資料+英文文獻(xiàn)
- 中國(guó)古典文獻(xiàn)學(xué)(全套)
- 內(nèi)燃機(jī)車常見(jiàn)故障分析及處理1733
評(píng)論
0/150
提交評(píng)論