




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
三、選擇題
1、在計算機內部,一切信息的存取、處理和傳送都是以D形式進行的。
A)EBCDIC碼B)ASCII碼C)十六進制編碼D)二進制編碼
2、與十進制數56等值的二進制數是一A。
A)111000B)111001C)101111D)110110
四、是非判斷題
1、在第三代計算機期間出現了操作系統。(V)
2、對于種類不一樣的計算機,其機器指令系統都是相似的。(X)
3、在計算機中,數據單位bit的意思是字節。(X)
1.微處理器,微型計算機和微型計算機系統三者之間有何區別?
答:微處理器即CPU,它包括運算器、控制器、寄存器陣列和內部總線等部分,用于實現微型計算機的運算和控制功
能,是微型計算機的關鍵:一臺微型計算機由微處理器、內存儲器、I/O接口電路以及總線構成;微型計算機系統則包
括硬件系統和軟件系統兩大部分,其中硬件系統又包括微型計算機和外圍設備;由此可見,微處理器是微型計算機的重
要構成部分,而微型計算機系統又重要由微型計算機作為其硬件構成,
2.CPU在內部構造上由哪幾部分構成?CPU應具有哪些重要功能?
答:CPU在內部構造上由運算器、控制器、寄存器陣列和內部總線等各部分構成,其重要功能是完畢多種算數及邏輯
運算,并實現對整個微型計算機控制,為此,其內部又必須具有傳遞和暫存數據的功能。
3.累加器和其他通用寄存器相比有何不一樣?
答:累加器是通用寄存器之一,但累加器和其他通用寄存器相比又有其獨特之處。累加器除了可用做通用寄存器寄存
數據外,對某些操作,一般操作前累加器用于寄存一種操作數,操作后,累加器用于寄存成果。
4.微型計算機的總線有哪幾類?總線構造的特點是什么?
答:微型計算機的總線包括地址總線、數據總線和控制總線三類,總線構造的特點是構造簡樸、可靠性高、易于設計
生產和維護,更重要的是便于擴充。
6.計算機I/O接口有何用途?試列出8個I/O接口。
答:計算機I/O接口是連接計算機和外部設備的紐帶和橋梁,它重要用于協調和控制計算機與外設之間的信息流通和
互換。例如:串行通訊口(COM口)、并行打印機口、軟盤驅動器接口、硬盤驅動瑞接口、光驅接口、顯示屏接口、
音響設備接口、其他通用設備接口(USB,SCSI等)。
7.目前,計算機主板上一般都包括哪些I/。接口?I/O接口卡怎樣與主板相連?
答:目前,計算機主板上一般包括串行通訊口、并行打印口、軟盤驅動器接口、硬盤驅動器接口、光驅接口、USB接
口等。象顯示屏適配器、網卡、modem卡等I/O接口卡一般通過總線插槽與主板相連。
8.簡述系統總線,AGP總線,PCI總線及ISA總線的作用。
答:系統總線是CPU與存儲器及橋接器之間傳遞信息的通道,AGP總線專門用與連接CPU與顯示屏適配器,PCI總
線一般用于連接某些高速外設接口作為高速外設與CPU或內存互換信息的通道,而ISA總線一般用于連接某些非高速
外設接口作為非高速外設與CPU或內存互換信息的通道.
9.試闡明計算機顧客,計算機軟件,計算機硬件三者的互相關系。
答:計算機顧客,計算機軟件系統,計算機硬件系統共同構成一種計算機應用系統,三者在該系統中處在三個不一樣
的層次。計算機顧客處在最高層,計算機軟件處在中間層,計算機硬件系統處在最下層。在這里計算機顧客是系統的
主宰,他們通過軟件系統與硬件系統發生關系,指揮計算機硬件完畢指定的任務。即,計算機顧客使用程序設計語言
編制應用程序,在系統軟件的干預下使用硬件系統進行工作。
11.存儲單元的選擇由什么信號控制?讀、寫靠什么信號辨別?
答:存儲單元的選擇由地址信號控制,而對存儲單元進行讀操作還是寫操作則要靠讀、寫信號辨別C
4.若用一種字節來表達帶符號數,判斷下列各運算在機內進行時與否會產生溢出,寫出判斷過程。
A.5BH+32H;B.-08H-15H;C.-51H+(-3DH);D.2DH+3CH
答:A.產生溢出,5BH=01011011B其補碼表達的機器數為:01011011
32H=00110010B其補碼表達的機器數為:00110010
相加的成果為:10001101
數值最高位向符號位進位,但符號位向前無進位,故產生溢出。
B.不產生溢出,-08H=-00001000B其補碼表達的機器數為:11111000
-15H=-00010101B其補碼表達的機器數為:11101011
相加的成果為:
數值最高位向符號位進位,符號位同步也向前進位,故不產生溢出.
C.產牛.溢出,-51H=-01010001B其補碼表達的機器數為:10101111
-3DH=-00111101B其補碼表達的機器數為:11000011
相加的成果為:
數值最高位向符號位無進位,但符號位向前進位,故產生溢出.
D.不產生溢出,2DH=00101101B其補碼表達的機器數為90101101
3CH=00111100B其補碼表達的機器數為:00111100
相加的成果為:01101001
數值最高位向符號位無進位,符號位向前也無進位,故不產生溢出。
6.詳細論述總線緩沖器的作用。
答:總線緩沖器的作用重要是控制各路數據在總線上的交叉傳送防止互相沖突,當幾路數據都要向總線上傳送時,就
通過各路的緩沖器來處理,當一路傳送時,緩沖器使其他各路數據與總線斷開。
7.鎖存器和寄存器有什么不一樣?
答:鎖存器與寄存器都是用來暫存數據的器件,在本質上沒有區別,不過寄存器的輸出端平時不隨輸入端的變化而變
化,只有在時鐘有效時才將輸入端的數據送輸出端(打入寄存器),而鎖存器的輸出端平時總隨輸入端變化而變化,
只有當鎖存器信號抵達時,才將輸出端的狀態鎖存起來,使其不再隨輸入端的變化而變化。
1.8086從功能上提成了EU和BIU兩部分。這樣設計的長處是什么?
答:傳記錄算機在執行程序時,CPU總是相繼地完畢取指令和執行指令的動作,即,指令的提取和執行
是串行進行的。而8086CPU在功能上.提成了EU和BIU兩部分,BIU負責取指令,EU負責指令的執行,
它們之間既互相獨立又互相配合,使得8086可以在執行指令的同步進行取指令的操作,即實現了取指
令和執行指令的并行工作,大大提高了CPU和總線的運用率,從而提高了指令的處理速度。
2.8086CPU中地址加法器的重要性體目前哪里?
答:地址加法器是8086CPU的總線接口單元中的一種器件,在8086存儲器分段組織方式中它是實現存
儲器尋址的一種關鍵器件,地址加法器將兩個16位寄存器中的邏輯地址移位相加,得到一種20位的實
際地址,把存儲器尋址空間從64K擴大到1M,極大地擴大了微型計算機的程序存儲空間,從而大大提高
了程序運行效率。
3.8086CPU中有哪些寄存器?分組闡明用途。哪些寄存器用來指示存儲器單元的偏移地址?
答:8086CPU中有8個通用寄存器AX、BX、CX、DX、SP、BP、SI、DI;兩個控制寄存器IP、FL;四個
段寄存器CS、DS、SS、ESo8個通用寄存器都可以用來暫存參與運算的數據或中間成果,但又有各自的
專門用途。例如,AX專用做累加器,某些指令指定用它寄存操作數和運算成果;CX為計數寄存器,在
某些指令中做計數器使用;DX為數據寄存器;BX為基址寄存器,BP為基址指針,SI為源變址寄存器,
DI為目的變址寄存器,這4個寄存器在數據尋址中用來寄存段內偏移地址(有效地址)或段內偏移地址
的一部分;SP為堆棧指示器,用來寄存棧頂有效地址。兩個控制寄存器用來寄存有關的狀態信息和控制
信息。例如,標志寄存器FL用來寄存狀態標志和控制標志;而指令指針用來寄存下一條要取指令的有
效地址。四個段寄存器用來寄存段地址。例如,CS寄存器用來寄存代碼段的段地址;DS寄存器用來寄
存數據段的段地址;SS寄存器用來寄存堆棧段的段地址;ES寄存器用來寄存擴展段的段地址。
4.8086系統中存儲器的邏輯地址由哪兩部分構成?物理地址由何器件生成?怎樣生成?每個段的邏輯
地址與寄存器之間有何對應關系?
答:8086系統中存儲器的邏輯地址由段地址(段首址)和段內偏移地址(有效地址)兩部分構成;存儲
單元的物理地址由地址加法器生成,尋址時,CPU首先將段地址和段內偏移地址送入地址加法器,地址
加法器將段地址左移4位并與段內偏移地址相加,得到一種20位的物理地址。數據段的段地址在DS寄
存器中,段內偏移地址也許在BX、BP、SI或DI寄存器中。代碼段的段地址在CS寄存器中,段內偏移
地址在IP寄存器中。堆棧段的段地址在SS寄存器中,段內偏移地址在SP寄存器中。擴展段的段地班
在ES寄存器中,段內偏移地址也許在BX、BP、S1或DI寄存器中。
5.設CPU中各有關寄存器的目前狀況為:SS=0a8bH、DS=17ceH、CS=dc54H、BX=394bH、IP=2f39H、SP=1200H,
BX給出的是某操作數的有效地址,請分別寫出該操作數、下一條要取的指令及目前棧頂的邏輯地址和
物理地址。
答:該操作數的邏輯地址為DS:BX=17CE:394BH,物理地址二17CEH*10H+394BH=1B62BH;下一條要取的
指令的邏輯地址為CS:1P二DC54:2F39H,物理地址二DC54H*10H+2F39I仁DF479H;目前棧頂的邏輯地址二SS:
SP=0A8E:1200H,物理地址=0A8BE*10H+l200H=0BAB0H。
6.若DS=157DH時,某操作數的物理地址是215FAH,當DS=18DEH時,該操作數的物理地址是多少?
答:該操作數的段內偏移地址二該操作數的物理地址-DS=215FAHT57D0H=BE2AH,故當DS=18DEH時,該
操作數的物理地址二DS*10H+BE2AH=18DE0H+BE2AH=24C0AH
7.設AX=2875H、BX=34DFH、SS=1307H>SP=8H,依此執行PUSHAX、PUSHBX、POPAX、POPCX后棧頂
指針變為多少?AX=?BX=?CX=?
答:目前棧頂指針=SS*10H+SP=13070H+8H=13078H,依此執行PUSHAX、PUSHBX、POPAX、POPCX后棧
頂指針仍為13078H。但AX-34DFH,BX-34DFH,CX_2875Ho
1.假定(BX)=637DH,(SI)=2A9BH,位移量D=3237H,試確定在如下多種尋址方式下的有效地址是
什么?
(1)立即尋址
(2)直接尋址
(3)使用BX的寄存器尋址
(4)使用BX的間接尋址
(5)使用BX的寄存器相對尋址
(6)基址變址尋址
(7)相對基址變址尋址
答:(1)立即數尋址的有效地址是目前IP的內容;
(2)直接尋址,若使用位移量D=3237H進行,則有效地址為3237H;
(3)使用BX的寄存器尋址時,操作數在BX寄存器中,因此無有效地址;
(4)使用BX的間接尋址時,有效地址在BX寄存器中,即有效地址=637DH;
(5)使用BX的寄存器相對尋址的有效地址=(BX)+D=637DE+3237H=95B4H;
(6)基址變址尋址的有效地址=(BX)+(SI)=637DH+2A9BE=8E18H;
(7)相對基址變址尋址的有效地址=(BX)+(SI)+D=C050H;
2.寫出把首地址為BLOCK的字數組的第6個字送到DX寄存器的指令。規定使用如下幾種尋址方式:
(1)寄存器間接尋址
(2)寄存器相對尋址
(3)基址變址尋址
答:(1)使用寄存器間接尋址,把首地址為BLOCK的字數組的第6個字送到DX寄存器的指令為:
MOVBX,BLOCK
ADDBX,12
MOVDX,[BX]
(2)使用寄存器相對尋址,把首地址為BLOCK的字數組的第6個字送到DX寄存器的指令為:
MOVBX,BLOCK
MOVDX,[BX+12]
(3)使用基址變址尋址,把首地址為BLOCK的字數組的第6個字送到DX寄存器的指令為:
MOVBX,BLOCK
MOVST,12
MOVDX,[BX+SI]
3.既有(DS)=H,(BX)=0100H,(SI)=0002H,(0H)=12H,(1H)=34H,(2H)=56H,(3H)=78H,(21200H)=2AH
(21201H)=4CH,(21202H)=B7H,(21203H)=65H,試闡明下列各條指令執行完后AX寄存器的內容。
(1)MOVAX,1200H
(2)MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)MOVAX,[BX+11OO]
(6)MOVAX,[BX+SI]
(7)MOVAX,[BX+SI+11OO]
答:(1)指令MOVAX,1200H執行完后AX寄存器的內容為1200H;
(2)指令MOVAX,BX執行完后AX寄存器的內容為0100H;
(3)指令MOVAX,[1200H]是將從物理地址二(DS)*10卜什12001仁21200H開始的兩個單元內容送AX,
執行完后AX寄存器的內容為4C2AH;
(4)指令MOVAX,[BX]是將從物理地址=(DS)*10H+(EX)=OH開始的兩個單元內容送AX,故執行
完后AX寄存器的內容為3412II;
(5)指令MOVAX,[BX+11OO]是將從物理地址=(DS)*10H+(BX)+H00H=21200H開始的兩個單元
內容送AX,故執行完后AX寄存器的內容為4c2AH;
(6)指令MOVAX,[BX+SI]是將從物理地址二(DS)*10H+(BX)+(SI)=2H開始的兩個單元內容送
AX,故執行完后AX寄存器的內容為7856H;
(7)指令MOVAX,[BX+SI+UD0]是將從物理地址二(DS)*10H+(BX)+(SI)+11ODH=21202H開始
的兩個單元內容送AX,故執行完后AX寄存器的內容為65B7E;
4.假設已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=OOAOH,(BX)=0100H,(BP)=001OH,數據段中變
量名VAL的偏移地址值為0050H,試指出下列源操作數字段的尋址方式是什么?其物理地址值是多少?
(1)MOVAX,OABH(2)MOVAX,BX
(3)MOVAX,[100H](4)MOVAX,VAL
(5)MOVAX,[BX](6)MOVAX,ES:[BX]
(7)MOVAX,[BP](8)MOVAX,[SI]
⑼MOVAX,[BX+10](10)MOVAX,VAL[BX]
(11)MOVAX,[BX][SI](12)MOVAX,[BP][SI]
答:(1)在指令MOVAX,OABH中,源操作數字段的尋址方式是立即數尋址,其物理地圮值=(CS)*10H+
(IP);
(2)在指令MOVAX,BX中,源操作數字段的尋址方式是寄存器尋址,操作數在BX中,無物理地址;
(3)在指令MOVAX,F100H1中,源操作數字段的尋址方式是直接尋址,其物理地址侑=(DS)*10H+100
=290001:+10011=29100;
(4)在指令MOVAX,VAL中,源操作數字段的尋址方式是直接尋址,其物理地址值二(DS)*10H+50H
=29000E+50H=29050H;
(5)在指令MOVAX,[BX]中,源操作數字段的尋址方式是寄存器間接尋址,其物理地址值二(DS)
*10H+(BX)=29000H+100H=29100H;
(6)在指令MOVAX,ES:[BX]中,源操作數字段的尋址方式是寄存器間接尋址,其物理地址值;(ES)
*10H+(BX)=21000H+100H=21100E;
(7)在指令MOVAX,[BP]中,源操作數字段的尋址方式是寄存器間接尋址,其物理地址值二(SS)
*10H+(BP)=15000H+10H=15010E;
(8)在指令MOVAX,[SI]中,源操作數字段的尋址方式是寄存器間接尋址,其物理地址值二(DS)
*10H+(SI)=29000H+0A0H=290AQH;
(9)在指令MOVAX,[BX+10]口,源操作數字段的尋址方式是寄存器相對尋址,其物理地址值二(DS)
*10H+(BX)+0AH=29000H+100H+0AH=2910AH;
(10)在指令MOVAX,VAL[BX]中,源操作數字段的尋址方式是寄存器相對尋址,其物理地址值-(DS)
*10H+(BX)+50H=29000H+100H+50H=29150H;
(11)在指令MOVAX,[BX][S1]中,源操作數字段的尋址方式是基址變址尋址,其物理地址值=(DS)
*10H+(BX)+(ST)=29000H+10QH+0A0H=291A0H;
(12)在指令MOVAX,[BP][SI]中,源操作數字段的尋址方式是基址變址尋址,其物理地址值二(SS)
*10H+(BP)+(SI)=15000H+10H+0A0H=150B0H
5.分別指出下列指令中的源操作數和目的操作數的尋址方式。
(1)MOVSI,200
(2)MOVCX,DATA[SI]
(3)ADDAX,[BX+DI]
(4)ANDAX,BX
(5)MOV[SI],AX
(6)PUSHF
答:(1)目的操作數字段的尋址方式是寄存器尋址,源操作數字段的尋址方式是立即數尋址;
(2)目的操作數的尋址方式是寄存器尋址,源操作數的尋址方式是寄存器相對尋址;
(3)目的操作數的尋址方式是寄存器尋址,源操作數的尋址方式是基址變址尋址;
(4)目的操作數的尋址方式是寄存器尋址,源操作數的尋址方式也是寄存器尋址;
(5)目的操作數的尋址方式是寄存器間接尋址,源操作數的尋址方式是寄存器尋址;
(6)目的操作數的尋址方式是寄存器間接尋址,源操作數的尋址方式是寄存器尋址;
6.試述指令MOVAX,H和MOVAX,DS:[H]的區別。
答:指令MOVAX,H是將立即數H送AX寄存器,而指令MOVAX,DS:[H]是將DS段有效地址為H的兩個
單元的內容送AXo
7.寫出如下指令中內存操作數的所在地址。
(1)MOVAL,[BX+5]
(2)MOV[BP+5],AX
(3)INCBYTEPTR[SI+31
(4)MOVDL,ES:[BX+DI]
(5)MOVBX,[BX+SI+2]
答:(1)指令MOVAL,[BX+5]中內存操作數的所在地址=(DS)*10H+(BX)+5;
(2)指令MOV[BP+5],AX中內存操作數的所在地址二(SS)*10H+(BP)+5和(SS)*10H+(BP)+6:
(3)指令INCBYTEPTR[SI+3]中內存操作數的所在地址=(DS)+(ST)+3;
(4)指令MOVDL,ES:[BX+DI]中內存操作數的所在地址二(ES)*1011+(BX)+(DI);
(5)指令MOVBX,[BX+SI+2]中內存操作數的所在地址二(DS)*10H+(BX)+(SI)+2和(DS)*10H+
(BX)+(SI)+3;
8.判斷下列指令書寫與否對的,如有錯誤,指出錯在何處并用對的的程序段(一條或多條指令)實現原
錯誤指令((8)、(13)除外)期望實現的操作。
(1)MOVAL,BX(9)MOVES,3278H
(2)MOVAL,SL(10)PUSHAL
(3)INC[BX](11)POP[BX]
(4)MOV5,AL(12)MOV[1A8H],23DH
(5)MOV[BX],[SI](13)PUSHIP
(6)MOVBL,F5H(14)MOV[AX],23DH
(7)MOVDX,H(15)SHLAX,5
(8)POPCS(16)MULAX,BX
答:(1)MOVAL,BX錯,源操作數為字類型,目的操作數為字節類型,兩者不一致。應改為:MOVAX,BX
或MOV/\L,BL;
(2)MOVAL,SL借,SI寄存器不能分為高8位和低8位使用,即沒有SL寄存器。應改為:MOVAX,SI
(3)INC[BX]錯,未指定操作數的類型。應改為:INCBYTEPTR[BX]
(4)MOV5,AL錯,目的操作數使用了立即數,在指令中一般不容許。應改為:MOVDS:[5],AL
(5)MOV[BX],[SI]錯,源操作數和目的操作數均為內存單元,不容許。
應改為:MOVAX,[SI]
MOV[BX],AX
(6)MOVBL,F5H錯,源操作數錯,以A?F開頭的數字前應加0。應改為:MOVBL,0F5H
(7)MOVDX,H對的。
(8)POPCS錯,不能將棧頂數據彈至CS中。
(9)MOVES,327811錯,立即數不能直接送ES寄存器。
應改為:MOVAX,3278H
MOVES,AX
(10)PUSHAL錯,棧操作不能按字節進行。應改為:PUSHAX
(11)POP[BX]對的。
(12)MOV[1A811],23D11錯,源操作數是立即數,目的操作數必須使用寄存器指出。應改為:
MOVBX,1A8H
MOV[BX],23DH
(13)PUSHIP錯,不能用IP寄存器做源操作數。
(14)MOVFAXL23DH錯,不能用AX寄存器間接尋址。應改為:MOVBX,AX
MOV[BX],23DH
(15)SHLAX,5錯,不能用不小于己于1的立即數指出移位位數。應改為:
MOVCL,5
SHLAX,CL
(16)MULAX,BX錯,目的操作數AX是隱含的,不能在指令中寫出。應改為:MULBX
9.設堆棧指針SP的初值為H,AX=3000H,BX=5000H,試問:
(1)執行指令PUSHAX后(SP)=?
(2)再執行PUSHBX及POPAX后(SP)=?(AX)=?(BX)=?
答:(1)執行指令PUSHAX后(SP)=H-2=1FFEH;
(2)再執行PUSHBX及POPAX后(SP)=1FFEH,(AX)=5000H,(BX)=5000H
10.要想完畢把[H]送[1000H]中,用指令:MOV[1000H],[H]與否對的?假如不對的,應用什么措施?
答:把[H]送[1000H]中,用指令MOV[1000HL[H]不對的,應改為:MOVAX,[H]MOV[1000H],AX
11.假如想從200中減去AL中的內容,用SUB200,AL與否對的?假如不對的,應用什么措施?
答;想從200中減去AL中的內容,用SUB200,AL不對的,應改為;MOVBL,200SUBBL,AL
12分別寫出實現如下功能的程序段
(5)將數據段中以BX為偏移地址的持續四個單元的內容顛倒過來
答:
(5)將數據段中以BX為偏移地址的持續四個單元的內容顛倒過來的程序段是:
MOVAL,[BX]:數據段中BX為偏移地址的字單元內容送AX
XCHGAL,[BX+3];數據段中BX+3為偏移地址的字單元內容與AX的內容互換
MOV[BX],AL;數據段中BX+3為偏移地址的字單元內容送BX為偏移地址的字單元
MOVAL,[BX+1];數據段中BXH為偏移地址的字單元內容送AX
XCHGAL,[BX+2];數據段中BX+2為偏移地址的字單元內容與AX的內容互換
MOV[BX+1],AL;數據段中BX+2為偏移地址的字單元內容送BX+1為偏移地址的字單元
1.假設OPL0P2是已經用DB定義的變量,W_OP3和W_0P4是已經用DW定義的變量,判斷下列指令
書寫與否對的?如有錯誤,指出錯在何處?并寫出對的的指令(或程序段)實現原錯誤指令期望實
現的操作((19)、(20)不改)。
(l)PUSH0P1
(2)POP[W_0P4]
(3)MOVAX,WORDPTR[SI][DI]
(4)MOVAX,WORDPTRES:BX
(5)MOVBYTEPTR[BX],1000
(6)NOVBX,OFFSET[SI+200H]
(7)NOV0P2,[BX]
(8)CMPHIGHW_OP3,25
(9)CMP0P1,0P2
(10)CMPAX,0P2
(ll)MOVW_0P3[BX+4*3][DI],SP
(12)ADDW_OP3,W_0P4
(13)MOVAX,W_OP3[DX]
(14)M0V0P1,LOWDS
(15)MOVSP,0P2[BX][SI]
(16)M0VAX,W_0P3+W_0P4
(17)MOVAX,W_0P3-W_0P4+100
(18)SUBAL,W_0P3+7
(19)MOVAX,BXSHL2
(20)MOVBX,W_OP3AND8FD7H
答:1.(l)Pl-SH0P1錯,0P1為字節類型,棧操作不能按字節進行,應改為:PUSHWORDPTR0P1
(2)POP[W_OP4]對的。
(3)MOVAX,WORDPTR[SI][DI]錯,源操作數尋址方式有問題。
應改為:MOVBX,SI
MOVAX,WORDPTR[BX][DI]
(4)MOVAX,WORDPTRES:BX錯,若源操作數為寄存器尋址是不能加段闡明及屬性修改的。顯然,原意應為寄存器間
接尋址,故應改為:MOVAX,WORDPTRES:[BX]
(5)MOVBYTEPTR[BX],1000錯,源操作數為字類型,目的操作數為字節類型,兩者不一致。應改為:MOVWORD
PTF[BX],1000
(6)MOVBX,OFFSET[SI+200H]錯,OFFSET運算應在匯編時完畢,但[SI+200H]在執行指令時才可獲得。應改為:LEA
BX,[SI+200H]
(7)MOVOP2,[BX]錯,源操作數和目的操作數均為內存單元,不容許。
應改為:MOVAL,[BX]
MOVOP2,AL
(8)CMPHIGHW_0P3,25錯,目的操作數中使用HIGH來分離存儲器操作數,這是不容許的。應改為:CMPBYTEPTR
W_OP3+1,25
(9)CMPOP1,OP2錯,源操作數和目的操作數均為內存單元,不容許。
應改為:MOVAL,OP2
CMPAL,OP1
(10)CMPAX,OP2錯,源操作數為字節類型,目的操作數為字類型,兩者不一致。
應改為:CMPAX,WORDPTR0P2
(11)MOVW_OP3[BX+4*3][DI],SP對的。
(12)ADDW_OP3,W_OP4錯,源操作數和目的操作數均為內存單元,不容許。
應改為:MOVAX,W_OP4
ADDW_OP3,AX
(13)MOVAX,W_OP3[DX]錯,不能用DX寄存器間接尋址。
應改為:MOVBX,DXMOVAX,
W_OP3[BX]
(14)MOVOP1,LOWDS錯,源操作數中使用LOW來分離寄存器操作數,這是不容許的。
應改為:MOVWORDPTROP1,DS
(15)MOVSP,OP2[BX][SI]錯,源操作數為字節類型,目的操作數為字類型,兩者不一致。應改為:MOVSP,WORDPTR
OP2[BX][SI]
(16)MOVAX,WJDP3+WJ3P4錯,兩個標識符相加無意義。應改為:MOVAX,WOP1
ADDAX,憶0P2
(17)MOVAX,WOP3-WOP4+100對的,源操作數為兩個標識符(地址)相減再加一數,匯編時得到一種數。
(18)SUBAL,W_OP3+7錯,兩個操作數類型不一致。應改為:SUBAL,BYTEPTRWJDP3+7
(19)MOVAX,BXSHL2錯,SHL只能對常量進行運算,左邊不能使用寄存器
(20)MOVBX,W_OP3AND8FD7H錯,AND只能對常軟進行運算,左邊不能使用變最
4.設已定義數據段
DATASEGMENT
VAR2DW10H,7889H
VAR5DB20H,0
ADRRDWVAR2,VAR5
DATAENDS
為使ADRR字存儲單元中寄存內容為“0010H”,ADRR+2字存儲單元中寄存內容為“0020H”,
上述省略號位置應分別填寫一條什么語句?闡明理由。
答:為使ADRR字存儲單元中寄存內容為“0010H”,ADRR+2字存儲單元中寄存內容為“0020H”,
上述省略號位置應分別填寫ORG10H和ORG20H,或者分別填寫語句
VARIDB10HDUP(?)和VAR36DUP(?)
5.下面的數據段中,有數據為'4100H,的字存儲單元有幾種?它們的偏移量分別是多少?
DATASEGMENT
DAIDB0
ORG41H
DA2DB0,'A',41H,0,41H
ADRDWDAI,DA2
DATAENDS
答:給出的數據段中,有數據'4100H'的字存儲單元有3個,它們的偏移量分別是41H、44H、
47IIo
7.試用數據定義語句DB或DW改寫下述兩語句中的某一種,使它們在存儲器中有完全相似的存儲
狀況。
VARIDB'abcdefghij'
VAR2DW6162H,6364H,6566H,6768H,696AH
答:將第一種偽指令語句改寫為VARIDW'ab',,cd',%f','gh',‘ij',第二個偽指
令語句不變。或第一種偽指令語句不變,而將第二個偽指令語句改寫為:
VAR2DB61H,62H,6311,64E,65H,66H,6711,68H,69H,6All
9.按下面的規定寫出程序的框架
(1)數據段的位置從OEOOOH開始,數據段中定義一種100字節的數組,其類型屬性既是字又是字
節;
(2)堆棧段從小段開始,段組名(類別名)為STACK;
(3)代碼段中指定段寄存器,指定主程序從1000H開始,給有關段寄存器賦值;
(4)程序結束。
答:所求程序框架為:
DataSEGMENTATOEOOOH
Arr_wLABELWORD
Arr_bDB100DUP(?)
DataENDS
Sta_segSEGMENTPARA'STACK'
DB80DUP(?)
TOPLABELWORD
Sta_segENDS
CodeSEGMENT
ASSUMECS:Code,DS:data,SS:sta_seg
ORG1000H
Start:MOVAX,data
MOVDS,AX
MOVAX,Sta_seg
MOVSS,AX
MOVSP,OFFSETTop
MOVAH,4cH
INT21H
CodeENDS
ENDStart
10.編寫一種程序,規定運行時屏幕顯示"BELL',同步響鈴一次(響鈴的ASCII碼為07)。
答:所求程序為:
CodeSEGMENT
ASSUMECS:code
Start:MOVDL,42H
MOVAH,2
INT21H
MOVDL,45H
MOVAH,2
INT21H
MOVDL,4cH
MOVAH,2
INT21H
MOVDL,4C11
MOVAH,2
INT21H
MOVDL,7
MOVAH,2
INT2111
MOVAH,4CH
INT21H
CoceENDS
ENDStart
11.假設在數據段X_SEG、附加段Y_SEG和堆棧段Z_SEG中分別定義了字變量X、Y和Z,試編制
一完整的程序計算X+Y+Z,并將成果送X。
答:所求程序為:
X_SEGSEGMENT
XDW12eH
X_SEGENDS
YSEGSEGMENT
YDW4d2H
Y_SEGENDS
ZSEGSEGMENTSTACK'STACK'
ZDW2CAH
Z_SEGENDS
CodeSEGMENT
ASSUMECS:Code,DS:XSEG,ES:YSEG,SS:ZSEG
Start:MOVAX,X_SEG
MOVDS,AX
MOVAX,Y_SEG
MOVES,AX
MOVAX,ES:Y
ADDX,AX
MOVBP,0
MOVAX,[BP+Z]
ADDX,AX
MOVAH,4CH
INT21H
CodeENDS
ENDStart
12.寫一種完整的程序放在代碼段C_SEG中,規定把數據段D_SEG中的DADD1和附加段E_SEG中
的DADD2相加,并把成果寄存在D-SEG段中的SUM中。其中DADD1、DADD2和SUM均為雙字類型,
DADD1賦值為98765,DADD2賦值為-15893。
答:所求程序為:
DSEGSEGMENT
DADD1DD98765
SUMDD?
D_SEGENDS
E_SEGSEGMENT
DADD2DD-15893
E_SEGENDS
CSEGSEGMENT
ASSUMECS:C_SEG,DS:D_SEG,ES:E_SEG
Start:MOVAX,DSEG
MOVDS,AX
MOVAX,E_SEC
MOVES,AX
MOVAX,WORDPTRDADD1
MOVBX,WORDPTRDADD1+2
ADDAX,WORDPTRES:DADD2
ADCBX,WORDPTRES:DADD2+2
MOVWORDPTRSIM,AX
MOVWORDPTRSLM+2,BX
MOVAH,4CH
INT21H
CSEGENDS
ENDStart
一、填空題
1、執行部件EU的組織有:—4個通用寄存器,4個專用寄存器和_1個標志寄存器和算術
邏輯部件o
2、8086CPU從偶地址訪問內存1個字時需占用—1個總線一周期,而從奇地址訪問內存1個字操作需占用2
個總線周期。
3、IBM-PC機中的內存是按段寄存信息的,一種段最大存貯空間為―64K字節。
4、8086微處理機在最小模式下,用M/而來控制輸出地址是訪問內存還是訪問I/O。
5、一臺計算機能執行多少種指令,是在—設計時確定的。
二、單項選擇題
1、微型計算機的性能重要由.B來決定。
A、價錢B、CPUC、控制器D、其他
2、對微處理器而言,它的每條指令均有一定的時序,其時序關系是C
A、一種時鐘周期包括兒種機器周期,一種機器周期包括幾種指令周期。
E、一種機器周期包括幾種指令周期,一種指令周期包括幾種時鐘周期。
C、一種指令周期包括幾種機器周期,一種機器周期包括幾種時鐘周期。
D、一種指令周期包括幾種時鐘周期,一種時鐘周期包括幾種機器周期。
3、屬于數據寄存器組的寄存器是C
A、AX,BX,CX,DSB、SP,DX,BP,IPC、AX,BX,CX,DXD、AL,DI,SI,AH
4、微型計算機的ALU部件是包括在D之中。
A、存貯器B、I/O接口C、I/O設備【)、CPU
5、在8086和8088匯編語言中,一種字能表達的不符號數的范圍是B
A、-32768WnW32768B、-32768?2767C、-65535WnW65535D、-65536WNW65535
6、80386微型計算機是32位機,艱據是它的D。
A、地址線是32位B、數據線為32位C、寄存器是32位的D、地址線和數據線都是32位
7、某數存于內存數據段中,已知該數據段的段地址為H,而數據所在單元的偏移地址為0120H,該數的在內存的
物理地址為(B)
A.02120HB.OHC.21200HD.03200H
8、在存貯器讀周期時,根據程序計數器PC提供的有效地址,使用從內存中取出(1))
A.操作數B.操作數地址C.轉移地址D.操作碼
9、8086/8088系統中,對存貯器進行寫操作時,CPU輸出控制信號有效的是(A)
A.W/70=1,而=0B.WR=1C.M/而=0,而=0D.而=0
10、在8086/8088微機系統中,將AL內容送到I/O接口中,使用的指令是(D)
A.INAL,端口地址B.MOVAL,端口地址C.OUTAL,端口地址D.OUT端口地址,AL
三、簡答題
1.微處理器內部構造由哪些部件構成?
2.論述8086CPU的最小方式和最大方式的區別。
3.論述指令周期、機器周期和時鐘周期間的關系。
4.8086CPU從功能上分為幾部分。各部分由什么構成?各部分的功能是什么?
5.8086系統中的物理地址是怎樣得到的?假如CS=2500H,IP=2100H,其物理地址是多少?
6.什么是最大模式?什么是最小模式?用什么措施將8086/8088置為最大模式和最小模式?
7.存儲器分段組織有何優越性?
8.試述BHE與人組合怎樣選擇數據字?
9.CPU響應中斷時,為何要執行兩個持續的中斷響應周期?
答案:
一、填空題
1、4個通用寄存器、4個專用寄存器、1個標志寄存器和算術邏輯部件
2、I個總線、2個總線
3、64K
4、M/ZO
5、設計
二、單項選擇題
1、B2、C3、C4、D5、B6、D7、B8、D9、A10、D
三、簡答題
1、答案:微處理器由兩部分構成,總線接II單元和執行單元
2、8086CPU的最小方式和最大方式的區別是:最小方式,MN/MX接+5V(MX為低電平),用于構成小型單處理機系統,
支持系統工作的器件:(1)時鐘發生器,8284A,(2)總線鎖存器,74LS373,(3)總線收發器,74LS245,控制信號由CPU
提供。最大方式,MN/MX接地(MX為低電平),用于構成多處理機和協處理機系統,支持系統工作的需件:(1)時鐘發生
器,8284A,(2)總線鎖存器,74LS373,(3)總線收發器,74LS245,⑷總線控制芯片,8288,控制信號由8288提供。
3、答:(1).執行一條指令所需要的時間稱為指令周期:(2).一種CPU同外部設備和內存儲器之間進行信息互換過
程所需要的時間稱為總線周期;(3).時鐘脈沖的反復周期稱為時鐘周期;(4).一種指令周期由若干個總線周期構成,
一種總線周期又由若干個時鐘周期構成;(5).8O86CPU的總線周期至少由4個時鐘周期構成;(6).總線周期完畢
一次數據傳播包括:傳送地址,傳送數據;(7)等待周期----在等荷周期期間,總線上的狀態一直保持不變;(8)
空閑周期――總線上無數據傳播操作
4、8086從功能上可分為執行單元和總線接口單元。執行單元的功能是負責指令的執行,將指令譯碼并運用內部寄存
器和ALU對數據進行處理。它由4個通用寄存器(AX、BX、CX、DX),4個專用寄存器(BP、SP、SI和DI),標
志寄存器和算術邏輯部件構成。總線接口單元的功能是存儲器、I/O端口傳送數據。它由4個段寄存器(CS、DS、
ES、SS),指令指針寄存器IP,20位地址加法器和6個字節的指令隊列構成。
5、在8。86系統中,用16位的段地址和16位的偏移地址來表達20位的物理地址,物理地址二段地址*16+偏移址得到
物理地址。
該題CS=2500H,IP=2100H,則物理地址二CS*16+IP=2500H*16+2100H=27100H
6、最大模式是相對最小模式而言,系統中包括兩個或多種處理品,其中一種主處理器就是8088/8086,其他處理
器是協處理器,它是協助主處理器工作的。將MN/MX*置0即為最大模式。
最小模式又是相對于最大模式,就是在系統中只有一種處理器,所有的總線控制信號均有由8C88/8086產生,系
統中總線控制邏輯電路少,將MN/MX*置1即為最大模式。
7、減少了指令的長度,提高了執行速度。內存分段為程序浮動加載發明了條件。使程序保持完整的相對性,具有
了浮動性。
8、痂的作用是高8位數據容許,Ao=O是低8位數據容許,在「狀態時,麗和A()組合起來表達連接在數
據總線上的存儲器和I/O端口目前的數據在總線上出既有格式。
9、CPU響應中斷時,執行兩個持續的中斷響應周期,每個響應周期都給出中斷響應信號而X。這是由于第一
種總線周期告知中斷請示設備,微處理器準備響應中斷,應當準備好中斷類型碼,第二個總線周期中,微處理器接受
中斷類型碼,以便得到中斷向量,即中斷服務程序的入口地址。
2.根據下列規定編寫一種匯編語言程序::
(1)代碼段的段名為COD_SG
(2)數據段的段名為DAT_SG
(3)堆棧段的段名為STK_SG
(4)變量HIGH_DAT所包括的數據為95
(5)將變量HIGH_DAT裝入寄存器AH,BH和DL
(6)程序運行的入口地址為START
2、答案:
DAT_SGSEGEMNT
HIGH_DATDB95
DAT_SGENDS
STK_SGSEGMENT
DW64DUP(?)
STK_SGENDS
COD_SGSEGMENT
MAINPROCFAR
ASSUMECS:COD_SG,DS:DAT_SGSS:STK_SG
START:MOVAX,DAT-SG
MOVDS,AX
MOVAH,HIGH_DAT
MOVBH,AH
MOVDL,AH
MOVAH,4CH
INT21H
MAINENDP
COD_SGENDS
ENDSTART
3、定義一種數據段的字符變量和數據變量。
(1)TRING為字符串變量:'Personalcomputer,
(2)VALD為十進制數字節變量12,99
(3)VALH為十六進制數字變量32H,0FAH
(4)VALZ為10個零的字節變量
(5)VALW為20個字單元
3、答案:
DATASEGMENT
TRINGDB*PersonalcomputerJ
VALDDB12,99
VALHDB32H,OFAH
VALZDBIODUP('O')
VALWDW20DUP(?)
5、下列標號為何是非法的?
(I)GET.DATA(2)1_NUM(3)TEST-DATA(4)RET(5)NEWITEM
答:非法標號:(1)由于只容許是標號的第一種字符
(2)第一種字符不能為數字
(3)不容許出現
(4)不能是保留字,如助記符
(5)不能有空格
6、下面的數據項設置了多少個字節?
(1)ASC_DATADB'1234'(2)HEX.DATADB1234H
答案:(1)設置了4個字節(2)設置了2個字節
7、DATASEGMENT
TABLE_ADDRDW1234H
DATAENDS
MOVBX,TABLE_ADDR
LEABX,TABLE_ADDR
請寫出上述兩條指令執行后,BX寄存器中的內容。
答案:MOVBX,TABLE_ADDR;執行后(BX)=1234H
LEABX,TABLE_ADDR;執行后(BX)=OFFSETTABLE_ADDR
8、寫出分派給下列中斷類型號在中斷向量表中的物理地址。
(1)INT12H(2)INT8
答案:⑴00048h(2)0(K)20h
9、AR1和VAR2為字變量,LAB為標號,試指出下列指令的錯誤之處。
(1)ADDVAR1,VAR2(2)SUBAL,VARI
(3)JMPLABfSI](4)JNZVARI
9、答案:
(1)源和目的不能同為內存變量
(2)兩個類型不匹配
(3)LAB為標號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢思離婚案子女撫養權及財產分割協議書
- 海鮮餐廳承包經營與供應鏈管理合同
- 礦山開采安全生產監督合同范本
- 護理教學師資培養與管理
- 文化藝術品交易居間服務協議
- 城市更新改造項目廠房租賃與配套服務協議
- 資源開發拆伙利益分配及環境保護協議
- 出租車企業司機勞動合同與職業培訓及發展合同
- 保險行業財務外包合作協議范本
- 黨政機關與高新技術產業合作研發合同
- 《鐵路技術管理規程》(普速鐵路部分)
- 23秋國家開放大學《液壓氣動技術》形考任務1-3參考答案
- 克雷洛夫寓言閱讀測試題及參考答案
- 中考歷史中國古代史知識復習1-精講版課件
- 班組長執行力管理培訓
- 邁爾尼《戰爭》高考文學類文本閱讀練習及答案名師資料匯編
- 網絡基礎培訓(簡化版) 完整版PPT
- 某工廠供配電系統畢業設計
- 預防接種工作單位資質申請表
- 智慧健康管理ppt課件
- 順馳地產戰略執行聚焦戰略的管理體系(89)頁課件
評論
0/150
提交評論