![微型計算機原理與接口技術(shù)(第三版)課后練習(xí)答案_第1頁](http://file4.renrendoc.com/view11/M01/19/1C/wKhkGWW4fwOAZBmUAALUhtdfglU817.jpg)
![微型計算機原理與接口技術(shù)(第三版)課后練習(xí)答案_第2頁](http://file4.renrendoc.com/view11/M01/19/1C/wKhkGWW4fwOAZBmUAALUhtdfglU8172.jpg)
![微型計算機原理與接口技術(shù)(第三版)課后練習(xí)答案_第3頁](http://file4.renrendoc.com/view11/M01/19/1C/wKhkGWW4fwOAZBmUAALUhtdfglU8173.jpg)
![微型計算機原理與接口技術(shù)(第三版)課后練習(xí)答案_第4頁](http://file4.renrendoc.com/view11/M01/19/1C/wKhkGWW4fwOAZBmUAALUhtdfglU8174.jpg)
![微型計算機原理與接口技術(shù)(第三版)課后練習(xí)答案_第5頁](http://file4.renrendoc.com/view11/M01/19/1C/wKhkGWW4fwOAZBmUAALUhtdfglU8175.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1思考與練習(xí)題
一、選擇題
1.計算機硬件中最核心的部件是()。C
A.運算器B.主存儲器C.CPUD.輸入/輸出設(shè)備
2.微機的性能主要取決于()。A
(B一一計算機數(shù)據(jù)處理能力的一個重要指標(biāo))
A.CPUB.主存儲器C.硬盤D.顯示器
3.計算機中帶符號數(shù)的表示通常采用()oC
A.原碼B.反碼C.補碼D.BCD碼
4.采用補碼表示的8位二進(jìn)制數(shù)真值范圍是()。C
A.T27?+127B.-127~+128C.T28?+127D.T28?+128
5.大寫字母“B”的ASCH碼是()oB
A.41HB.42HC.61HD.62H
6.某數(shù)在計算機中用壓縮BCD碼表示為10010011,其真值為()?C
A.1001001IBB.93HC.93D.147
二、填空題
1.微處理器是指CPU:微型計算機以CPU為核心,配置內(nèi)存和1/0接口構(gòu)成;其特點
是(1)功能強(2)可靠性高(3)價格低(4)適應(yīng)性強(5)體積?。?)維護(hù)方便。P8P5
2.主存容量是指RAM和ROM總和:它是衡量微型計算機計算機數(shù)據(jù)處理能力的一個重要
指標(biāo);構(gòu)成主存的器件通常采用DRAM和PROM半導(dǎo)體器件。P5P9
3.系統(tǒng)總線是CPU與其他部件之間傳送數(shù)據(jù)、地址和控制信息的公共通道:根據(jù)傳送內(nèi)容
的不同可分成數(shù)據(jù)、地址、控制3種總線。P9
4.計算機中的數(shù)據(jù)可分為數(shù)值型和非數(shù)值型兩類,前者的作用是表示數(shù)值大小,進(jìn)行算
術(shù)運算等處理操作;后者的作用是表示字符編碼,在計算機中描述某種特定的信息。P12
5.機器數(shù)是指一數(shù)及其符號在機器中加以表示的數(shù)值化_;機器數(shù)的表示應(yīng)考慮機器數(shù)的范
圍、機器數(shù)的符號、機器數(shù)中小數(shù)點位置3個因素。P15P16
6.ASCH碼可以表示128種字符,其中起控制作用的稱為功能碼:供書寫程序和描述命
令使用的稱為信息碼。P18P19
三、判斷題
1.計算機中帶符號數(shù)采用補碼表示的目的是為了簡化機器數(shù)的運算。()》
2.計算機中數(shù)據(jù)的表示范圍不受計算機字長的限制。()X
3.計算機地址總線的寬度決定了內(nèi)存容量的大小。()?
4.計算機鍵盤輸入的各類符號在計算機內(nèi)部均表示為ASCH碼。()X
(鍵盤與計算機通信采用ASCII碼)
四、簡答題
L微處理器和微型計算機的發(fā)展經(jīng)歷了哪些階段?各典型芯片具備哪些特點?P2~3
2.微型計算機硬件結(jié)構(gòu)由哪些部分組成?各部分的主要功能和特點是什么?P8~ll
3.微型計算機系統(tǒng)軟件的主要特點是什么?包括哪些內(nèi)容?P1T12
4.計算機中常用的數(shù)制有哪些?如何進(jìn)行數(shù)制之間的轉(zhuǎn)換?P13~15
5.ASCII碼和BCD碼有哪些特點?其應(yīng)用場合是什么?P19~20
五、數(shù)制轉(zhuǎn)換題
1.將下列十進(jìn)制數(shù)分別轉(zhuǎn)換為二進(jìn)制數(shù)、十六進(jìn)制數(shù)和壓縮BCD碼。
(1)25.8211001.1101B;19.DI1;00100101.10000010BCD
(2)4120010B;19C.2H;040000010010.00010101BCD
(3)513.461000000001.0111;201.7H;010100010011.01000110BCD
(4)690010;45.2H;01011001.000100110110BCD
2.將下列二進(jìn)制數(shù)分別轉(zhuǎn)換為十進(jìn)制數(shù)和十六進(jìn)制數(shù)。
(1)111001.10157.625D;39.AH
(2)110010.110150.8125D;32.DH
(3)1011.1101111.84375D;B.D8H
(4)101101.011145.4375D;21).7H
3.將下列十六進(jìn)制數(shù)分別轉(zhuǎn)換為二進(jìn)制數(shù)、十進(jìn)制數(shù)和BCD碼。
(D7B.211111011.00100001B;123.12890625D;123.12890625BCD
(2)127.IC100100111.000111B;295.06640625D;295.06640625BCD
(3)6A1.4110110100001.0100000IB;1697.25390625D;1697.25390625BCD
(4)2DF3.410110111110011.01B;11763.25D;11763.25BCD
4.寫出下列十進(jìn)制數(shù)的原碼、反碼、補碼表示(采用8位二進(jìn)制數(shù))。
(1)96[96]原=01100000;[96]反=01100000;[96]補=01100000
(2)31[31]原=00011111;[31]反=00011111;[31]補=00011111
(3)-42[-42]原=10101010;[-42]反=11010101;[-42]#=11010110
(4)-115[T15]原=11110011;[-115]反=10001100;[-115④卜=10001101
5.己知下列補碼,求其原值的十進(jìn)制表示.
(1)92H-110D
(2)8DH-115D
(3)B2H-781)
(4)4C26H+19494D
6.按照字符所對應(yīng)的ASCII碼表示,查表寫出如下字符的ASCII碼:
a、K、G、+、DEL、SP、CR、$。
61H4BH47H2BH7FH20HODH24H
2思考與練習(xí)題
一、選擇題
1.在EU中起數(shù)據(jù)加工與處理作用的功能部件是()。A
A.ALUB.數(shù)據(jù)暫存器C.數(shù)據(jù)寄存器D.EU控制電路
2.以下不屬于BIU中的功能部件是()0B
A.地址加法器B.地址寄存器C.段寄存器D.指令隊列緩沖器
3.堆棧操作中用于指示棧頂?shù)刂返募拇嫫魇牵ǎ
A.SSB.SPC.BPD.CS
4.指令指針寄存器(IP)中存放的內(nèi)容是()?B
A.指令B.指令地址C.操作數(shù)D.操作數(shù)地址
5.8086系統(tǒng)可訪問的內(nèi)存空間范圍是()。B
A.OOOOH-FFFFHB.00000H?FFFFFH
C.0~2'6D.0~220
6.8086的1/0地址空間采用16位數(shù)尋址時,可訪問的端門數(shù)容量為()。C
A.16KBB.32KBC.64KBD.1MB
7.8086最大和最小工作方式的主要差別是()。D
A.數(shù)據(jù)總線的位數(shù)不同B.地址總線的位數(shù)不同
C.I/O端口數(shù)的不同D.單處理器與多處理器的不同
二、填空題
1.8086的內(nèi)部結(jié)構(gòu)由工工和BIU一組成,前者功能是執(zhí)行指令,后者功能是總線操作。
P24P26
2.8086取指令時,會選取CS作為段基值,再加上由」P提供的偏移地址形成20位物理地
址。
3.8086有兩種外部中斷請求線,它們分別是INTR和NMI。P32
4.8086的標(biāo)志寄存器共有個標(biāo)志位,分為6個狀態(tài)標(biāo)志位和3個控制標(biāo)志位。P28
5.8086為訪問1MB內(nèi)存空間,將存儲器進(jìn)行分段管理;其物理地址是唯一的;偏移地
址是指相對段基地址的偏移量;邏輯地址常用于程序中。P29P20P34P35
6.邏輯地址為1000H:0230H時,其物理地址是10230H,段地址是1000H,偏移量是
0230H,
7.時鐘周期是指CPU基本時間計量單位,總線周期是指一次總線操作時間,總線操作是
指CPU經(jīng)外部總線對存儲器或I/O端口進(jìn)行一次信息輸入和輸出的過程。P37
8.8086工作在最大方式時CPU引腳MN/-MX應(yīng)接地;最大和最小工作方式的應(yīng)用場合分別
是多處理器和單處理器系統(tǒng)。P38P39
三、判斷題
1.IP中存放的是正在執(zhí)行的指令偏移地址。()X
2.從內(nèi)存單元偶地址開始存放的數(shù)據(jù)稱為規(guī)則字。()4
3.EU執(zhí)行算術(shù)和邏輯運算后的結(jié)果特征可由控制標(biāo)志位反映出來。()X
4.指令執(zhí)行中插入”,和T,是為了解決CPU與外設(shè)之間的速度差異。()X
5.總線操作中第1個時鐘周期通常是取指周期。()X
6.8086系統(tǒng)復(fù)位后重新啟動時從內(nèi)存地址FFFFOH處開始執(zhí)行。()J
四、簡答題
1.8086微處理器中的指令隊列起什么作用(EU從指令隊列取指令的緩沖作用),其長度是多
少字節(jié)(6個字節(jié))?P26
2.什么是邏輯地址(無符號32位二進(jìn)制數(shù)),它由哪兩部分組成(段地址和偏移地址)?8086
的物理地址是如何形成的(物理地址=段地址*10H+偏移地址)?P35
3.8086微機系統(tǒng)中存儲器為什么要分段(8086系統(tǒng)內(nèi)的地址寄存器均是16位,只能尋址
64KB;將1MB存儲器分成邏輯段,每段不超過64KB空間,以便CPU操作。),各邏輯段之間
的關(guān)系如何(可重疊、交叉、緊密連接和分離)?P34
4.I/O端口有哪兩種編址方式(統(tǒng)一編址和獨立編址),8086的最大I/O尋址空間是多少
(64KB)?P36
5.8086的最大工作模式(8086、8087和8089通過總線控制器8288產(chǎn)生對總線的控制信號)
和最小工作方式(8086直接產(chǎn)生總線控制信號)的主要區(qū)別是什么?他們分別應(yīng)用在何種場
合(多處理器和單處理器系統(tǒng))?P39
6.簡述實地址方式(山段地址和偏移地址計算產(chǎn)生物理地址,其物理地址可以超過20位)和
虛擬8086方式(由段地址和偏移地址計算產(chǎn)生的有效物理地址為20位)的區(qū)別。P41
7.簡述Pentium微處理器的主要特性。P44
五、分析題
1.有一個由10個字組成的數(shù)據(jù)區(qū),其起始地址為1200H:0120H。試寫出該數(shù)據(jù)區(qū)的首末存
儲單元的實際地址(12120H~12120H+10*2T=12133H)。
2.若一個程序段開始執(zhí)行之前,(CS)=33AOH,(IP)=0130H,試問該程序段啟動執(zhí)行指令的實
際地址是什么(33A00H+0130II=33B30H)?
3.有兩個16位的字31DAH和5E7FH,它們在8086系統(tǒng)存儲器中的地址分別為00130H和
00134H,試畫出它們的存儲示意圖。
地址存儲空間
00130HODAH
00131H31H
00134H7FH
00135H5EH
4.將字符串“Good!”的ASCII碼依次存人從01250H開始的字節(jié)單元中,畫出它們存放的內(nèi)
存單元示意圖。
地址存儲空間
01250H
01251H
01252H
01253H
01254H
5.8086微處理器讀/寫總線周期各包含多少個時鐘周期(4個時鐘周期)?什么情況下需要插
入T”等待周期(當(dāng)4上升沿檢測到READY=0時,在Ts與「之間插入T,)?應(yīng)插入多少個T”,
取決于什么因素(READY=0持續(xù)的時間長短)?什么情況下會出現(xiàn)空閑狀態(tài)T,(BIU不執(zhí)行總
線操作的時鐘周期。例如:8086執(zhí)行MUL、DIV指令長指令時,BIU有段時間不執(zhí)行總線操
作;因此,插入TJ?P38
3思考與練習(xí)題
一、選擇題
1.寄存器間接尋址方式中,要尋找的操作數(shù)位于()中。B
A.通用寄存器B.內(nèi)存單元C.段寄存器D.堆棧
2.下列指令中正確的是()。C
A.MOVAL,BXB.MOVCS,AXC.MOVAL,CLD.MOV[BX],[SI]
3.下列指令中錯誤的是()。C
A.MOVAX,1234HB.INCBXC.SRLAX,2D.PUSHDX
4.設(shè)(SP)=1010H,執(zhí)行POPAX后,SP中的內(nèi)容為()。B
A.10UHB.1012HC.100EHD.100FH
5.給定(AL)=80H,(CL)=02H,指令SHR八1,比執(zhí)行后的結(jié)果是()。B
A.(AL)=40HB.(AL)=20HC.(AL)=COHD.(AL)=EOH
6.將AX清零并使CF位清零,下面指令錯誤的是()。A
A.SUBAX,BXB.XORAX,AXC.MOVAX,0(不影響FR)D.ANDAX,000011
二、填空題
1.計算機指令通常由操作碼字段和操作數(shù)字段兩部分組成:指令對數(shù)據(jù)操作時.按照數(shù)
據(jù)的存放位置可分為立即數(shù)、寄存器操作數(shù)、存儲器操作數(shù)。
2.尋址的含義是指尋找操作數(shù)的過程;8086指令系統(tǒng)的尋址方式按照大類可分為與操作
數(shù)有關(guān)的尋址方式、與I/O端U有關(guān)的尋址方式;其中尋址速度最快的是立即數(shù)尋址。
P54~P57
3.指令MOVAX,ES:[BX+0100H]中,源操作數(shù)位于物理地址為ES*10H+BX+0100H的存儲單元
;讀取的是附加數(shù)據(jù)ES段的存儲單元內(nèi)容。
4.堆棧是一個特殊的存儲器區(qū)域,其操作是以2字節(jié)單元為單位按照先進(jìn)后出原則
來處理;采用一段指向棧頂?shù)刂?,入棧時地址變化為SP<=(SP)-2。P57
5.I/O端口的尋址有直接端口尋址和間接端口尋址兩種方式;采用8位數(shù)端口地址(直接
端口尋址)時,可訪問的端口地址為02255;采用16位數(shù)端口地址(間接端口尋址)時,
可訪問的端口地址為0~65535。P57~P58
三、分析計算題
1.指出如下指令中源操作數(shù)和目的操作數(shù)的尋址方式:
(l)MOVAX,100H(2)MOVCX.AX
(3)ADD[SI],1000(4)SUBBX,[SI+100]
(5)MOV[BX+300],AX(6)ANDBP,[DI]
源操作數(shù)目的操作數(shù)
(DMOVAX,100H立即數(shù)寄存器
(2)MOVCX,AX寄存器寄存器
(3)ADD[SI],1000立即數(shù)寄存器間接
(4)SUBBX,[SI+100]變址寄存器
(5)MOV[BX+300],AX寄存器變址
(6)ANDBP,[DI]寄存器間接寄存器
2.分析如下指令的正誤,對錯誤指令說明出錯誤原因并加以收正:
(l)MOV[1200],23H(2)MOV1020H,CX
(3)MOV[1000H],[200011](4)MOVIP,00011
(5)PUSHAL(6)OUTCX,AL
(7)INAL,[80H](8)MOVCL,3300H
(DMOV[1200],23H;未指明數(shù)據(jù)類型MOVBYTEPTR[1200],23H
(2)MOV1020H,CX;立即數(shù)不能作為目標(biāo)操作數(shù)MOV[1020H],CX
(3)MOV[1000H],[2000H];兩操作數(shù)不能均是內(nèi)存單元MOVBYTEPTR[1000H],2000H
(4)MOVIP,000H;IP不能在MOV指令中出現(xiàn)JMP00011
(5)PUSHAL;操作數(shù)必須是16位PUSHAX
(6)OUTCX,AL;CX不能作為端口地址的間接訪問寄存器OUTDX,AL
(7)INAL,[80H];直接端口地址寫法錯誤INAL,8011
(8)MOVCL,3300H;兩操作數(shù)的數(shù)據(jù)類型不一致MOVCX,3300H
3.給定(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,
(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65Ho試分析如下
指令執(zhí)行后,AX寄存器中的內(nèi)容:
(l)MOVAX,120011(2)MOVAX,BX
(3)MOVAX,[1200H](4)MOVAX,[BX]
(5)MOVAX,110011[BX](6)MOVAX,[BX+SI]
(7)MOVAX,[1100H+BX+SI]
(DMOVAX,1200H;(AX)=1200H
(2)MOVAX,BX;(AX)=0100H
(3)MOVAX,[1200H];(AX)=4C2AH
(4)MOVAX,[BX];(AX)=3412H
(5)MOVAX,1100HEBX];(AX)=4C2AH
(6)MOVAX,[BX+SI];(AX)=7856H
(7)MOVAX,[1100H+BX+SI];(AX)=65B7H
4.己知(AX)=75A4H,CF=1,分別寫出如下指令執(zhí)行后的結(jié)果:
(DADDAX,08FFH(2)INCAX
(3)SUBAX,4455H(4)ANDAX,OFFFH
(5)ORAX.0101H(6)SARAX,1
(7)RORAX,1(8)ADCAX,5
(DADDAX,08FFH(AX)=7EA3HCF=0
(2)INCAX(AX)=75A5HCF=1
(3)SUBAX,4455H(AX)=314FHCF=0
(4)ANDAX,OFFFH(AX)=05A4HCF=O
(5)ORAX,0101H(AX)=75A5HCF=0
(6)SARAX,1(AX)=3AD2HCF=O
(7)RORAX,1(AX)=3AD2HCF=0
(8)ADCAX,5(AX)=75AAHCF=O
5.給定(SS)=8000H,(SP)=200011,(AX)=7A6CH,(DX)=3158H?執(zhí)行如下程序段,畫出每條指
令執(zhí)行后寄存器的內(nèi)容和堆棧存儲內(nèi)容的變化情況:
PUSHAX
PUSHDX
POPBX
POPCX
PUSHAX;(AX)=7A6CH,(SP)=1FFEH,(81FFEH)=7A6CH
PUSHDX;(DX)=3158H,(SP)=1EFCH,(81EECH)=3158H
POPBX;(BX)=3158H,(SP)=1FFEH
POPCX;(CX)=7A6CH,(SP)=2000H
6.試分析如下程序段執(zhí)行完后,BX的內(nèi)容:817FII
MOVBX,1030H;(BX)=1030H
MOVCL,3;(CL)=3
SHLBX,CL;(BX)=8180H
DECBX;(BX)=817FH
四、設(shè)計題
1.現(xiàn)有兩個雙倍精度字?jǐn)?shù)據(jù)1234FEDCII和1123876511,分別存放在數(shù)據(jù)段中從1000H和2000II
開始的存儲單元中,低位在前,高位在后。要求兩數(shù)相加之后所得的和放在從1000H開始的
內(nèi)存單元中,設(shè)計該程序段。
;3_4_1.ASM
MOVSI,200011;SI指向2000H
MOVDI,1000H;DI指向1000H
CLC;CF=O
MOVCX,4;CX=4,循環(huán)相加4次
LL:MOVAL,[SI];取數(shù)
ADCAL,[DI];相加
MOV[DI],AL;保存
INCSI;SI增1
INCDI;1)1增1
LOOPLL;CX減1,不為0,轉(zhuǎn)LL
MOVAX,0
ADCAX,0
MOV[DILAX
2.設(shè)AX、BX中保存有帶符號數(shù),CX、DX中保仔無符號數(shù),請寫出實現(xiàn)以下功能的指令或程
序段。
⑴若(CX)〈(DX),則轉(zhuǎn)移到NEXT1。
CMPCX,DX
JBNEXT1
(2)若(AX)XBX),則轉(zhuǎn)移到NEXT2,
CMPAX,BX
JGNEXT2
(3)若(CX)=0,則轉(zhuǎn)移到NEXT3.
CMPCX,0或JCXZNEXT3
JENEXT3
(4)若AX中內(nèi)容為負(fù),則轉(zhuǎn)移到NEXT4。
TESTAX,8000H或ADDAX,0
JNZNEXT4或JSNEXT4
3.設(shè)堆棧寄存器(SS)=2250H。堆棧指示器(SP)=0140H,若在堆棧中存入5個字?jǐn)?shù)據(jù),則SS、
SP的內(nèi)容各是多少?[(SS)=2250H、(SP)=0136H]如果又取出2個字?jǐn)?shù)據(jù),SS、SP的內(nèi)容各
是多少?[(SS)=2250H、(SP)=013AH]
4思考與練習(xí)題
一、選擇題
1.匯編語言程序中可執(zhí)行的指令位于()中。C
A.數(shù)據(jù)段B.堆棧段C.代碼段D.附加數(shù)據(jù)段
2.以下內(nèi)容不是標(biāo)號和變量屬性的是()oB
A.段屬性B.地址屬性C.偏移屬性D.類型屬性
3.DOS功能調(diào)用中采用屏幕顯示單個字符,其值保存在()寄存器。C
A.ALB.AHC.DLD.DH
4.DOS功能調(diào)用中,從鍵盤讀取一個字符并回顯的是()。A
A.01HB.02HC.09HD.OAH
5.循環(huán)程序設(shè)計中,要考慮的核心問題是()。1)
A.循環(huán)的控制B.選擇循環(huán)結(jié)構(gòu)C.設(shè)置循環(huán)參數(shù)初始值D.修改循環(huán)控制參數(shù)
6.對于宏指令和子程序,下列說法不正確的是()。D
A.宏指令不能簡化目標(biāo)程序
B.子程序可以簡化目標(biāo)程序,但執(zhí)行時間長
C.子程序在執(zhí)行過程中由CPU處理
1).宏指令在執(zhí)行時要保護(hù)和恢復(fù)現(xiàn)場
二、填空題
1.匯編語言是一種面向CPL:指令系統(tǒng)的程序設(shè)計語言,采用指令助記符表示操作碼和操
作數(shù),用符號地址表示操作數(shù)地址。P82
2.匯編語言的語句可由名字、操作符、操作數(shù)、注釋四部分組成;其中一操作符.是必須具
備的。P83
3.機器指令是指發(fā)送給CPL.的命令,在運行時由一CPU_執(zhí)行;偽指令是發(fā)送給匯編程序的
命令,在匯編過程中由匯編程序進(jìn)行處理:宏指令是指代表一段源程序,通常用于
經(jīng)常用到的一個程序段場合。P87、P107
4.子程序的基本結(jié)構(gòu)包括子程序說明、現(xiàn)場保護(hù)及恢復(fù)、子程序體、子程序返回等幾個部
分;子程序的參數(shù)傳遞有寄存器、堆棧、存儲器等方法。P104、P105
5.DOS功能調(diào)用可完成對完成對文件、設(shè)備、內(nèi)存的管理;BIOS的主要功能是外設(shè)的控
制;如系統(tǒng)加電自檢、引導(dǎo)裝入及對鍵盤、磁盤、顯示器、打印機、異步串行通信口等的控
虬。
6.給定如下程序段,在每條指令的右邊寫出指令的含義和操作功能,指出該程序段完成的功
能及運行結(jié)果:
MOVAX,0;AX<=0
MOVBX,1;BX<=1
MOVCX,5;CX<=5
LP:ADDAX,BX;AX<=AX+BX
ADDBX,2;BX<=BX+2
LOOPLP;CX〈=CX—1;若CXWO,轉(zhuǎn)LP
HLT;停機
5
(1)該程序段完成的功能是一Z2〃+1_。
(2)程序運行后:(AX)=36;(BX)=_H_;(CX)=_0_?
三、判斷題
1.偽指令是在匯編中用于管理和控制計算機相關(guān)功能的指令。()X
2.程序中的“$”可指向下一個所能分配存儲單元的偏移地址。(
3.宏指令的引入是為了增加匯編程序的功能。()V
4.多重循環(huán)的內(nèi)循環(huán)要完整地包含在外循環(huán)中,可嵌套和并列。(
5.子程序結(jié)構(gòu)縮短了程序的長度,節(jié)省了程序的存儲空間。()J
四、簡答題
1.完整的匯編源程序應(yīng)該由哪些邏輯段組成(數(shù)據(jù)段、堆棧段、代碼段)?各邏輯段的主要作
用是什么(存放數(shù)據(jù)變量及其預(yù)置初值、保存中斷和子程序的斷點和參數(shù)傳遞、存放程序執(zhí)
行的代碼)?P87
2.簡述在機器上建立(為源程序起一個有意義的文件名字,并創(chuàng)建成文本文件)、編輯(在文
本編輯軟件EDIT.EXE環(huán)境下,輸入和編輯源程序)、匯編(通過匯編程序ASM.EXE或
MASN.EXE,將源程序會變成機器語言目標(biāo)程序.OBJ)、連接(運用連接程序LINK.EXE,將目
標(biāo)程序.OBJ連接生成執(zhí)行程序.EXE)、運行(在DOS狀態(tài)下,直接運行執(zhí)行程序)、調(diào)試(運
用調(diào)試程序DEBUG.EXE將執(zhí)行程序跳入調(diào)試界面狀態(tài),并進(jìn)行斷點設(shè)置調(diào)試運行或單步調(diào)試
運行操作)匯編語言源程序的過程和步驟。P94
3.什么是偽指令(發(fā)送給匯編程序的命令)?程序中經(jīng)常使用的偽指令有哪些(數(shù)據(jù)定義、符
號定義、段定義、過程定義、結(jié)構(gòu)定義、模塊定義與連接、程序計數(shù)器$和起點定義ORG)?
簡述其主要功能(數(shù)據(jù)定義為變量及其類型分配存儲單元,并賦予初值;符合定義給一個符
號重新命名;段定義指定邏輯段的名稱、范圍、斷的定位類型、組合類型和類別;過程定義
為程序段定義成過程,并賦予過程名字,以便用CALL指令調(diào)用;結(jié)構(gòu)定義用于相互關(guān)聯(lián)的
數(shù)據(jù)定義;模塊定義與連接用NAME為源程序匯編后的目標(biāo)程序指定模塊名,以便連接該目
標(biāo)模塊,并生成執(zhí)行程序文件;$在匯編過程中,用于存儲單元分配計數(shù)器,該計數(shù)器可在
指令操作數(shù)表達(dá)式中引用;ORG為數(shù)據(jù)變量和程序段指定起始位置。)?P87~P93
4.什么是宏指令(代表某功能的一段源程序)?宏指令在程序中如何被調(diào)用(在源程序中,通
過宏名字(即宏指令名)進(jìn)行調(diào)用)?P107
5.子程序與宏指令在程序的使用中有何共性(宏和子程序都可用來簡化程序,并可使程序多
次對它們調(diào)用。)及不同特點(宏操作可直接傳遞和接收參數(shù),不通過堆?;蚱渌浇椋蛔映?/p>
序不能直接帶參數(shù),需有傳遞參數(shù)時,必須通過堆棧寄存器和存儲器進(jìn)行。宏調(diào)用只能簡化
源程序的書寫,并沒有縮短目標(biāo)代碼長度;子程序調(diào)用能縮短目標(biāo)程序長度。應(yīng)用好操作并
不會在執(zhí)行目標(biāo)代碼時增加額外的時間開銷;子程序調(diào)用由于需要保護(hù)和恢復(fù)現(xiàn)場和斷點,
因而延長目標(biāo)程序的執(zhí)行時間)?P109
五、設(shè)計題
1.編程實現(xiàn)求S=(X2+Y2)/Z的值,并將結(jié)果放入RESULT單元。
;XT451.ASM
DATASEGMENT;定義數(shù)據(jù)段
XDW15
YDW-32
ZDW280
RESULTDW2DUP(?);定義結(jié)果保存單元
DATAENDS;數(shù)據(jù)段結(jié)束
CODESEGMENT;定義代碼段
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA;初始化DS
MOVDS,AX
MOVAX,X;取出被乘數(shù)X存入AX中
IMULX;執(zhí)行X2操作
MOVCX,AX;乘積的低位字轉(zhuǎn)存至CX
MOVBX,DX;乘積的高位字轉(zhuǎn)存至BX
MOVAX,Y;取出被乘數(shù)X存入AX中
IMULY;執(zhí)行丫?操作
ADDAX,CX;X2+Y2的低位字與Z的低位字相加
ADCDX,BX;X2+Y2的高位字相加
IDIVZ;(X2+Y2)/Z
MOVRESULT,AX;商存入RESULT單元
MOVRESULT+2,DX;余數(shù)存入RESULT+2單元
MOVAH,4CH
INT21H;返回DOS
CODEENDS;代碼段結(jié)束
ENDSTART;匯編結(jié)束
2.編程序完成計算S=(A+B)/2-2(AANDB)。
;XT4_5_2.ASM
DATASEGMENT;定義數(shù)據(jù)段
ADW15
BDW-32
SDW?
RESULTDW2DUP(?);定義結(jié)果保存單元
DATAENDS;數(shù)據(jù)段結(jié)束
CODESEGMENT;定義代碼段
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA;初始化DS
MOVDS,AX
MOVAX,A;取出被乘數(shù)A存入AX中
ADDAX,B;A+B
SARAX,1;(A+B)/2
MOVBX,AX;存入BX中
MOVAX,A;取出被乘數(shù)A存入AX中
ANDAX,B;AANDB
SALAX,1;(AANDB)*2
SUBBX,AX:(A+B)/2-2(AANDB)
MOVS,BX;存入S單元
MOVAH,4CH
INT21H;返回DOS
CODEENDS;代碼段結(jié)束
ENDSTART;匯編結(jié)束
3.試編程實現(xiàn)將內(nèi)存中的若干個無符號字?jǐn)?shù)據(jù)中的最大值和最小值找出來,并開辟獨立的存
儲區(qū)域保存結(jié)果。
;XT4_5_3.ASM
DATASEGMENT
ARRDW123,456,67,0,34,90,89,67,0,256
CNEQU($-ARR)/2
ZDDW0;最大(數(shù)組中任何數(shù)均大于AX內(nèi)容)
ZXDWOFFFFH;最?。〝?shù)組中任何數(shù)均小于BX內(nèi)容)
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MOVDS,AX;初始化DS
MOVSI,OFFSETARR;數(shù)組首地址送SI
MOVCX,CN;數(shù)組元素個數(shù)送CX
CALLQZDZXS;調(diào)用近過程QZDZXS(求最大最小數(shù))
MOVAH,4CH
INT21H;返回DOS
;求最大最小數(shù)子程序名:QZDZXS
;子程序功能:求一組字?jǐn)?shù)據(jù)中的最大最小數(shù)
;入口參數(shù):數(shù)組首地址在SI中,數(shù)組個數(shù)在CX中
;出口參數(shù):最大數(shù)在ZD中,最小數(shù)在ZX中
;使用寄存器用X、DX、SI及PSW
QZDZXSPROCNEAR
PUSHSI
SH
DX
PSU
nCX;保護(hù)現(xiàn)場
M^
ZDZXO:DX,[SI];取一個數(shù)組元素送DX
CP
ZD,DX;AX中內(nèi)容和DX中內(nèi)容比較
JB
ZDZX1;(ZD)XDX),轉(zhuǎn)ZDZX1
MV
ZD,DX;較大數(shù)存入ZD
CP
ZDZX1:ZX,DX;AX中內(nèi)容和DX中內(nèi)容比較
JA
ZDZX2;(ZX)<(DX),轉(zhuǎn)ZDZX1
MV
DZX,DX;較小數(shù)存入ZX
ZDZX2:AOSI,2;數(shù)組指針加2調(diào)整
D
]LP-ZDZXO;循環(huán)控制
PCX
POPDX
POPSI;恢復(fù)現(xiàn)場
RET;返回主程序
QZDZXSENDP;子程序定義結(jié)束
CODEENDS;代碼段結(jié)束
ENDSTART;匯編結(jié)束
4.編寫程序,計算如下函數(shù)的值:
fIX,X<0
S=<3X,0WXW10
、4X,0>10
;XT4_5_4.ASM
DATASEGMENT
XDB15
SDB?
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MOVDS,AX
MOVAL,X
TESTAL,80H
JZLLO
SALAL,1;2X
JMPLL10
LLO:CMPAL,10
JGLL1
MOVBL,AL
SALAL4;3X
ADDAL,BL
JMPLL10
LL1:SALAL,1;4X
SALAL,1
LL10:MOVS,AL
MOVAH,4CH
INT21H;返回DOS
CODEENDS
ENDSTART;匯編結(jié)束
5.從鍵盤輸入一系列字符,以回車符結(jié)束,編寫程序統(tǒng)計其中非數(shù)字字符的個數(shù)?
;XT4_5_5.ASM
DATASEGMENT
NUMDB0;統(tǒng)計變量
DATAENDS
STACKSEGMENTSTACK;定義堆棧段
DB100DUP(?);開辟100個存儲單元
STACKENDS;堆棧段結(jié)束
CODESEGMENT;定義代碼段
ASSUMECS:CODE,SS:STACK,DS:DATA
START:MOVAX,DATA
MOVDS,AX
LLL:MOVAH,01H;1號調(diào)用,從鍵盤輸入一字符存入AL
INT21H
CMPAL,13;與“回車符”的ASCII碼比較
JZL2;是“回車符”,轉(zhuǎn)L2(退出)
CMPAL,30H;與“0”的ASCII碼比較
JBLI;低于“0”的非數(shù)字字符ASCII碼,轉(zhuǎn)L1(統(tǒng)計)。
CMPAL,39H;與“9”的ASCII碼比較
JALI;高于“9”的非數(shù)字字符ASCII碼,轉(zhuǎn)L1(統(tǒng)計)。
JMPLLL
LI:INCNUM;非數(shù)字字符,統(tǒng)計;計數(shù)增1.
JMPLLL;轉(zhuǎn)LLL(繼續(xù))
L2:MOVDL,OAH;設(shè)置換行符
MOVAH,02H;設(shè)置顯示功能號
INT21H;換行
MOVDL,NUM;設(shè)置顯示統(tǒng)計數(shù)字(8位二進(jìn)制數(shù))
MOVCL,4
SHRDL,CL;保留高4位二進(jìn)制數(shù)
ORDL,30H;轉(zhuǎn)換成ASCII碼(高1位十六制數(shù)的ASCII)
MOVAH,02H;設(shè)置顯示功能號
INT21H;顯示高1位十六制數(shù)的ASCH
MOVDL,NUM;設(shè)置顯示統(tǒng)計數(shù)字(8位二進(jìn)制數(shù))
ANDDL,0FH;保留低4位二進(jìn)制數(shù)
ORDL,30H;轉(zhuǎn)換成ASCII碼(低1位十六制數(shù)得ASCII)
MOVAH,02H;設(shè)置顯示功能號
INT21H;顯示低1位十六制數(shù)的ASCII
MOVDL/H’;設(shè)置顯示'H'
MOVAH,02H;設(shè)置顯示功能號
INT21H;顯示'H'
MOVAH,4CH;設(shè)置返回DOS功能碼。
INT21H;返回DOS
CODEENDS;代碼段結(jié)束
ENDSTART;程序匯編結(jié)束
6.編程實現(xiàn)將鍵盤連續(xù)輸入的小寫字母用大寫字母顯示出來,小寫字母與大寫字母之間采用
號分隔,當(dāng)輸入非小寫字母時程序停止處理。
;XT456.ASM
STACKSEGMENTSTACK;定義堆棧段
DB100DUP(?);開辟100個存儲單元
STACKENDS;堆棧段結(jié)束
CODESEGMENT;定義代碼段
ASSUMECS:CODE,SS:STACK
START:MOVAH,01H;1號調(diào)用,從鍵盤輸入一字符存入AL
INT21H;輸入并回顯
MOVBL,AL;保存從鍵盤輸入字符
CMPALJa,;與“曖的ASCII碼比較
JBL3;低于“a”的ASCH碼,轉(zhuǎn)L3(退出)。
CMPAL";與2”的ASCII碼比較
JAL3;高于“a”的ASCII碼,轉(zhuǎn)L3(退出)。
SUBAL,20H;將AL中字符的ASCII碼減去20H變成大寫字母。
MOVBL,AL;保存結(jié)果
MOVDL,<;顯示字符u送DL
MOVAH,02H;2號調(diào)用,在顯示器上顯示字符
INT21H;顯示u
MOVDL,BL;結(jié)果(大寫字母)送DL。
MOVAH,02H;2號調(diào)用,在顯示器上顯示DL中的內(nèi)容(大寫字母)。
INT21H;顯示大寫字母
MOVDL,20H;空格送DL。()
MOVAH,02H;2號調(diào)用,在顯示器上顯示DL中的內(nèi)容(大寫字母).
INT21H;顯示空格(使兩結(jié)果用空格隔開)
JMPSTART;不是“回車符",轉(zhuǎn)START(繼續(xù))
L3:MOVAH,4CH;是“回車符,,,設(shè)置返回DOS功能碼。
INT21H;返回DOS
CODEENDS;代碼段結(jié)束
ENDSTART;程序匯編結(jié)柬
7.在數(shù)據(jù)段中有一個字節(jié)數(shù)組,編程統(tǒng)計其中正數(shù)的個數(shù)放入、單元保存,統(tǒng)計負(fù)數(shù)的個數(shù)
放入B單元保存。
;XT4_7.ASM
DATASEGMENT
ARRDB-13,46,67,0,-34,-90,89,67,0,26
CNEQU$-ARR;數(shù)組長度
ADW?;正數(shù)個數(shù)統(tǒng)計結(jié)果變量
BDW?;負(fù)數(shù)個數(shù)統(tǒng)計結(jié)果變量
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MOVDS,AX;初始化
MOVSI,OFFSETARR;敢組首地址送SI
MOVCX,CN;數(shù)組元素個數(shù)送CX
L0:MOVDL,[SI];取一個數(shù)組元素送DX
TESTDL,80H;DX中內(nèi)容和0比較
JNZ
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際海上貨運合同風(fēng)險評估與預(yù)警服務(wù)
- 2025年商鋪裝修材料供應(yīng)與施工管理合同
- 2025年度婚介服務(wù)合同模板(含隱私保護(hù)條款)
- 2025年度公益勞動服務(wù)基地青少年科技創(chuàng)新基地共建合同
- 2025年度國際健康產(chǎn)品采購合同樣本
- 2025年度股權(quán)無償轉(zhuǎn)讓及市場調(diào)研與分析服務(wù)合同
- 2025年度新能源發(fā)電項目經(jīng)營權(quán)轉(zhuǎn)讓承包合同范本
- 2025年度汽車消費貸款及車輛抵押擔(dān)保合同
- 2025年度公路貨物運輸環(huán)保檢測服務(wù)合同
- 2025年度建筑消防設(shè)施安全評估與整改合同
- 未婚生子的分手協(xié)議書
- 變更監(jiān)事章程修正案范例
- 北京小客車指標(biāo)租賃協(xié)議五篇
- 輸液室運用PDCA降低靜脈輸液患者外滲的發(fā)生率品管圈(QCC)活動成果
- 北師大版小學(xué)六年級下冊數(shù)學(xué)全冊教學(xué)設(shè)計
- YY/T 0681.2-2010無菌醫(yī)療器械包裝試驗方法第2部分:軟性屏障材料的密封強度
- GB/T 20472-2006硫鋁酸鹽水泥
- 煙氣管道阻力計算
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務(wù)迎接重大節(jié)日、活動的保障措施
- 醫(yī)院-9S管理共88張課件
- 高考作文復(fù)習(xí):議論文論證方法課件15張
評論
0/150
提交評論