匯編語言復(fù)習(xí)題(附答案)_第1頁
匯編語言復(fù)習(xí)題(附答案)_第2頁
匯編語言復(fù)習(xí)題(附答案)_第3頁
匯編語言復(fù)習(xí)題(附答案)_第4頁
匯編語言復(fù)習(xí)題(附答案)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..匯編語言復(fù)習(xí)題注:藍(lán)色標(biāo)記的為答案,此答案僅供參考,大家自己做一下或看以一下,認(rèn)為不對(duì)的地方,可以提出來一起討論一下,另外看一下課后老師布置的相應(yīng)作業(yè)。在此文檔最后最后附有課后四、六章的答案,大家抓緊時(shí)間復(fù)習(xí)哦!一、選擇題1.把要執(zhí)行的程序與庫文件連接起來形成可執(zhí)行文件的系統(tǒng)程序是<B>。A.匯編程序B.連接程序C.機(jī)器語言程序D.源代碼程序2.在8088/8086的寄存器組中,CPU確定下一條指令的物理地址時(shí)需要用到的寄存器對(duì)是<C>。A..SS和SPB.DS和DIC.CS和IPD.ES和SI3.為了使主機(jī)訪問外設(shè)方便起見,外設(shè)中的每個(gè)寄存器給予一個(gè)<C>。A.物理地址B.邏輯地址C.端口地址D.段地址4.MOVAX,3064H,該指令中源操作數(shù)采用的尋址方式是<A>。A.立即B.直接C.寄存器相對(duì)D.寄存器間接5.換碼指令的助記符是<C>。A.XCHGB.LEASC.XLATD.MOV6.如果A≥B〔A、B有符號(hào)數(shù)發(fā)生轉(zhuǎn)移,應(yīng)選擇的條件轉(zhuǎn)移指令是<JGE>。7.下列符號(hào)中,可用作標(biāo)識(shí)符的是<C>。A.MOVB.AXC.MSG1D.1ABC8.XDB10HDUP〔1,2內(nèi)存變量定義語句擁有了<A>個(gè)字節(jié)的存儲(chǔ)空間。A.20DB.10DC.20HD.10H9.當(dāng)DF=0時(shí),執(zhí)行串操作指令MOVSB,變址寄存器SI、DI的值將<C>。A.不變B.減1C.加1D.無法確定10.如下指令可將AX寄存器內(nèi)容改變的是<A>。A.ANDAX,BX B.TESTAX,BX C.CMPAX,BX D.XCHGAX,AX11.16位CPU支持的I/O地址范圍是<D>。A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12.MULCL指令實(shí)現(xiàn)的功能是<A>。A.無符號(hào)乘法:AXAL×CL B.有符號(hào)乘法:AXAL×CLC.無符號(hào)乘法:DXAL×CLD.有符號(hào)乘法:DXAL×CL13.DOS系統(tǒng)功能調(diào)用〔INT21H中,顯示字符串的功能號(hào)是<D>。A.01HB.02HC.08HD.09H14.在16位CPU讀取指令時(shí),需要用到的寄存器對(duì)是〔C。A.SS和SPB.DS和DIC.CS和IPD.ES和SI15.下列指令中,源操作數(shù)〔既第2操作數(shù)屬于基址加變址尋址方式是<B>。A.MOVAX,23HB.MOVAX,[BX+SI]C.SUBAX,[BX]D.ADDAX,BX16.有內(nèi)存變量定義語句:VARDW10DUP<1,2>,1234H,VAR的屬性TYPE、LENGTH和SIZE的值分別是<D>。A.1,20,20B.2,20,40C.2,22,44D.2,10,2017、在下列語句中,AGAIN稱為<C>。AGAIN:INCSIA.指令B.寄存器C.標(biāo)號(hào)D.變量18、十六進(jìn)制數(shù)88H,可表示成下面幾種形式,請(qǐng)找出錯(cuò)誤的表示<A>。A.8位二進(jìn)制數(shù)-8的補(bǔ)碼B.帶符號(hào)十進(jìn)制數(shù)-120C.壓縮型BCD碼十進(jìn)制數(shù)88D.表示無符號(hào)十進(jìn)制數(shù)13619、將AL中的最低4位置為0而不改變其他位的正確指令是〔B。A.ORAL,0F0HB.ANDAL,0F0HC.ORAL,0FHD.ANDAL,0FH20、某內(nèi)存單元的物理地址為297E0H其對(duì)應(yīng)的邏輯地址表示錯(cuò)誤的是〔C。A.296EH:100HB.295EH:200HC.287EH:100HD.297EH:0H21、與二進(jìn)制數(shù)00011011等值的十進(jìn)制數(shù)為<B>。A.26 B.27 C.28 D.3022、表達(dá)式"12HXOR78H"的值是<C>。A.3AHB.80HC.6AHD.90H23、某內(nèi)存單元的邏輯地址為296EH:100H,其對(duì)應(yīng)的物理地址是<A>。A.297E0HB.2A6EHC.297F0HD.296E0H24、16位微機(jī)分段管理存儲(chǔ)空間,但每段容量最大不超過<C>。A.8KB.16KC.64KD.1M25、下列操作數(shù)的尋址方式正確的是<D>。A.[AX]B.[SI+DI]C.BX+90D.BX26匯編語言源程序經(jīng)匯編程序匯編后產(chǎn)生的文件的擴(kuò)展名是〔B。A、EXEB、OBJC、ASMD、LST27在程序執(zhí)行過程中,IP寄存器始終保存的是〔C。A、上一條指令的首地址B、本條指令的首地址。C、下一條指令的首地址D、需計(jì)算有效地址后才能確定地址。28設(shè)DS=1000H,ES=2000H,BX=3000H,指令A(yù)DDAL,[BX]的源操作數(shù)的物理址為〔A。A、13000HB、23000HC、33000HD、3000H29、匯編語言屬于〔D。A、用戶軟件

B、系統(tǒng)軟件

C、高級(jí)語言

D、機(jī)器語言30、當(dāng)使用BP作編程地址時(shí),此時(shí)使用的是〔D段。A、CS

B、DS

C、ES

D、SS31、匯編語言源程序是<A>程序。A.不可直接執(zhí)行的

B.經(jīng)連接后就可直接執(zhí)行的C.經(jīng)匯編程序匯編后就可執(zhí)行的

D.可直接執(zhí)行的32、8086/8088CPU的寄存器組中,16位的寄存器共有<D>個(gè)。A.10B.12C.14D.1633、設(shè)BX=2000H,SI=3000H,指令MOVAX,[BX+SI+8]的源操作有效地址為〔B。A、5000HB、5008HC、23008HD、32008H34、偽指令是〔C規(guī)定的匯編說明符,它在源程序匯編時(shí)進(jìn)行說明。A、DEBUG

B、LINK

C、MASM

D、EDIT35、已知CALLBX執(zhí)行前SP=100H,執(zhí)行后SP的內(nèi)容為。<C>

A、100H

B、102H

C、98H

D、0FEH36、若定義"A

EQU

100",執(zhí)行"MOV

AX,A"后,AX=〔C。A、A的偏移地址

B、A單元中的內(nèi)容C、100

D、A的段地址37、一個(gè)段最大可定義〔B字節(jié)。A、1M

B、64K

C、32K

D、16K38、設(shè)A和B為字變量,C為標(biāo)號(hào),下列指令中不正確的是〔C。A、MOV

AX,A

B、MOV

AX,B

C、JNE

A

D、JMP

C39、下述指令中不影響CF的指令是〔B。A、SHLAL,1B、INCCXC、ADD[BX],ALD、SUBAX,BX40、兩個(gè)整數(shù)補(bǔ)碼9CH和7AH相加運(yùn)算后,會(huì)產(chǎn)生〔C。A、無溢出且無進(jìn)位B、無溢出但有進(jìn)位C、有溢出且有進(jìn)位D、有溢出但無進(jìn)位41、指令JMPWORDPTR[BX]屬于〔A尋址。A、段內(nèi)直接B、段內(nèi)間接C、段間直接D、段間間接42、指令MOVAX,[BX+SI+8]的源操作數(shù)屬于〔D尋址。A、直接B、寄存器相對(duì)C、基址變址D、相對(duì)基址變址43、指令〔A不改變CF的內(nèi)容。A、DECALB、ADDAX,CXC、SUB[BX],CLD、SBBAL,DL44、十進(jìn)制數(shù)字74所對(duì)應(yīng)的壓縮型BCD碼的形式是〔B。A、74B、74HC、4AHD、4A45、十進(jìn)制數(shù)字85所對(duì)應(yīng)的非壓縮型BCD碼的形式是〔D。A、0085B、0085HC、0805D、0805H46、設(shè)AL=67H,執(zhí)行"CMPAL,76H"后,AL=〔C。A、76HB、0DFHC、67HD、00二、判斷題MOVAL,BX<錯(cuò)>MOVDS,SS<錯(cuò)>MOV[BX],[DI] <錯(cuò)>POPCS <對(duì)>MOVDS,5678H <錯(cuò)>ADD1234H,CX <錯(cuò)>CLD <對(duì)>SHLBX,AL<錯(cuò)>MULDX <對(duì)>LEAAX,[BX+DI]〔對(duì)ADDDS,5678H<對(duì)>STC<對(duì)>CMP234H,CX<錯(cuò)>MULDX,10H<錯(cuò)>LEAAX,[BX+DI]<對(duì)>XCHGES,AX<對(duì)>POPAL<錯(cuò)>SUBAL,SI<錯(cuò)>MOVDS,SS<錯(cuò)>SALDX,AL<錯(cuò)>MOVAX,BL <錯(cuò)>MUL25 <錯(cuò)>SHRBX,CH <錯(cuò)>PUSHCS <對(duì)>LEAAX,[BX+SI] <對(duì)>三、簡(jiǎn)答題1、標(biāo)志寄存器共有那些標(biāo)志位?答:有運(yùn)算結(jié)果標(biāo)志位和狀態(tài)控制標(biāo)志位兩大類,其中運(yùn)算結(jié)果標(biāo)志位有進(jìn)位標(biāo)志位CF、奇偶標(biāo)志PF、輔助進(jìn)位標(biāo)志AF、零標(biāo)志ZF、符號(hào)標(biāo)志SF、溢出標(biāo)志OF。狀態(tài)控制標(biāo)志位有方向標(biāo)志DF、中斷允許標(biāo)志IF、陷阱標(biāo)志TF。2.標(biāo)號(hào)和變量所具有哪三種屬性?答:段屬性、偏移量屬性、類型屬性。3、寫出16位CPU的段寄存器的助記符和中文名稱。答:CS------代碼段寄存器DS------數(shù)據(jù)段寄存器ES------附加段寄存器SS------堆棧段寄存器4、指出下列指令源操作數(shù)〔第二操作數(shù)的尋址方式?!?MOVAX,1000[BX][DI]基址變址相對(duì)尋址〔2MOVBX,[1000H]直接尋址〔3ADDSI,AX寄存器尋址〔4MOVAX,100立即數(shù)尋址〔5MOVAX,[SI]寄存器間接尋址5、在8088/8086的尋址方式中,與數(shù)據(jù)有關(guān)的尋址方式分為哪七種尋址方式?答:立即數(shù)尋址、寄存器尋址、直接尋址、寄存器間接尋址、相對(duì)尋址、基址變址尋址、基址變址相對(duì)尋址。6、已知DS=1000H,BX=100H,SI=2,存儲(chǔ)單元[11200H]~[11203H]依次存放〔十六進(jìn)制12、34、56、78,說明下列每條指令執(zhí)行完后AX寄存器的內(nèi)容?!?MOVAX,[1200H]3412H〔2MOVAX,[BX+1101H]5634H〔3MOVAX,[BX+SI+1100H]7856H7、編寫將字節(jié)數(shù)據(jù)70h輸出到端口地址為220H的指令序列。解MOVDX,220HMOVAL,70HOUTDX,AL8、按要求寫出下列相應(yīng)的內(nèi)存變量定義語句?!?定義一個(gè)字節(jié)區(qū)域,第一個(gè)字節(jié)的值為10,其后跟100個(gè)初值為0的連續(xù)字節(jié)。解:DB10,100DUP<0>〔2先定義一個(gè)字符串STRING,其偏移量指定為10,其初值為"abcdef",然后再定義5個(gè)字類型的數(shù)組ARRAY,要求STRING和ARRAY偏移量相同。解:ORG10STRINGDB‘a(chǎn)bcdef’ORG10ARRAYDW5DUP<?>〔3定義一個(gè)以-1為結(jié)束符的字符串,該串中含有換行符和回車符。解:db0dh,0ah,’-1’〔4從偶地址開始定義20個(gè)字,其初值為1。解:EVENDW20DUP<1><5>定義100個(gè)字,其初值為0。解:DW100DUP<0>9、設(shè)數(shù)據(jù)段定義如下:DATA

SEGMENTV1

DW

1234h,3456hV2

DB‘a(chǎn)b’V3=

$+5V4

DB

10

DUP〔?V5

DW

v4DATA

ENDS請(qǐng)回答:〔1該數(shù)據(jù)段占用的內(nèi)存有多少字節(jié)?<18D>〔2v3的值為多少?<11D>〔3執(zhí)行"MOV

AX,v5"指令后,AX值為多少?<6H>〔4執(zhí)行"MOV

AL,BYTE

PTR

v2"指令后,AL值為多少?<a>10、設(shè)數(shù)據(jù)段定義如下:DATA

SEGMENTv1

DB

0ah,0c4hv2

DW

1,2,3v3

DB

4,100

DUP〔?v4

DB

‘ABCDE’v5

DW

v3v6

EQU

$-v3DATA

ENDS請(qǐng)回答:〔1該數(shù)據(jù)段占用的內(nèi)存有多少字節(jié)?<116D>〔2v5單元中的值是多少?<8H>〔3v6的值是多少?<108D>〔4執(zhí)行"MOV

AL,v4+2"指令后,AL的值是多少?。<C>11、下列數(shù)值在內(nèi)存中連續(xù)存儲(chǔ),試畫出其在內(nèi)存的存儲(chǔ)形式。〔1字節(jié):7,8,‘1’、‘a(chǎn)’、‘A’和-1〔2字:12H、0AB56H和-1,0〔3雙字:-765H、56789256H和0,-1解:它們的內(nèi)存示意圖如下:<注:此題中的內(nèi)存物理地址可以自己任意指定,只要連續(xù)即可>070708316141FF120056ABFFFF000012340H12341H12342H11200H11201H11202H第〔1題第〔2題9BF89BF8FFFF5692785600000000FFFFFFFF13000H13001H13002H第〔3題〔1加法和減法。<AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,SI,DI>〔2循環(huán)計(jì)數(shù)。<CX,CL>〔3乘法和除法。<BX,CX,AH,BL,BH,CL,CH,DL,DH>〔4指示程序已執(zhí)行到哪條指令的地址。<CS,IP>〔5指示當(dāng)前從堆棧中彈出數(shù)據(jù)的地址。<SP>〔6表示運(yùn)算結(jié)果為零。<ZF>13、按要求編寫指令序列?!?將立即數(shù)1234H與BX指示存儲(chǔ)單元偏移地址的內(nèi)容相加。ADD[BX],1234H〔2將AX寄存器中的高字節(jié)和低字節(jié)內(nèi)容交換。XCHGAH,A〔3右移DX4位,并把0移入最高位。MOVCL,4SHRDX,CL〔4用一條指令實(shí)現(xiàn)把〔BX和〔SI之和傳送給DX。LEADX,[BX+SI]〔5檢測(cè)BX中的第2、8和10位中是否有1位為1。TESTBX,1000000010B〔6將DX—AX中的32位數(shù)算術(shù)左移1位。SHLAX,1RCLDX,1<7>以BX和SI寄存器作基址變址尋址方式,把該單元中的一個(gè)字傳送到AX。MOVAX,[BX+SI]14編寫從端口地址為220H的端口讀入一個(gè)字節(jié)的指令序列。MOVDX,220HINAL,DX15、在匯編語言中,如何表示二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制的數(shù)值?答:〔1二進(jìn)制:在書寫二進(jìn)制時(shí),在數(shù)據(jù)后面緊跟一個(gè)B,其一般形式為bn-1…b1b0B,其表示元素只有0和1;〔2八進(jìn)制:在書寫八進(jìn)制時(shí),在數(shù)據(jù)后面緊跟一個(gè)Q,其基本元素為0、1、、、7;〔3十進(jìn)制:在書寫十進(jìn)制時(shí),在數(shù)據(jù)后面緊跟一個(gè)D,其基本元素為0、1、、、9;〔4十六進(jìn)制:在書寫十六進(jìn)制時(shí),在數(shù)據(jù)后面緊跟一個(gè)H,其基本元素為0、1、、、A、B、C、D、E、F,其中A、B、C、D、E、F分別代表10、11、12、13、14、15。若十六進(jìn)制的第一個(gè)字符是字母,則在之前必須添加一個(gè)"0"。16、匯編語言的主要特點(diǎn)有哪些?答:〔1與機(jī)器相關(guān)性;〔2執(zhí)行的高效率性;〔3編寫程序的復(fù)雜性;〔4調(diào)試程序的復(fù)雜性。17、設(shè)BX=1000H,SI=2000H,位移量D=3000H,請(qǐng)指出下列各種尋址方式的有效地址是什么?〔1使用D的直接尋址EA=D=3000H〔2使用BX寄存器的間接尋址EA=<BX>=1000H〔3使用BX寄存器的相對(duì)尋址EA=<BX>+D=1000H+3000H=4000H〔4基址變址尋址EA=<BX>+<SI>=1000H+2000H=3000H〔5相對(duì)基址變址尋址EA=<BX>+<SI>+D=1000H+2000H+3000H=6000H四、程序閱讀題1.有下列程序,試分析該程序,并在程序的后面寫出該程序?qū)崿F(xiàn)的功能。DATASEGMENTSOURCEDB?,?;兩個(gè)無符號(hào)數(shù)MAXDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMOVAX,DATAMOVDS,AXMOVAL,SOURCECMPAL,SOURCE+1JNCBRANCHMOVAL,SOURCE+1BRANCH:MOVMAX,ALHLTCODEENDSEND程序的功能是:。參考答案:比較兩個(gè)無符號(hào)數(shù)的大小,把大數(shù)存入變量MAX中。2、設(shè)A,B,C,X和Y都是有符號(hào)的字變量,閱讀下列程序段,回答后面的問題。MOVAX,CSUBAX,120D CWD MOVCX,DXMOVBX,AX MOVAX,AIMULB ADDAX,BX ADCDX,CXIDIVC MOVX,AX MOVY,DX請(qǐng)回答:上述程序段完成的運(yùn)算公式是。上述程序段執(zhí)行后,商存于,余數(shù)存于。參考答案:<C-120+A*B>/C,X,YY=Y=1X>02X=03X<0-128≤X≤127DATASEGMENTXDB?YDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMOVAX,DATAMOVDS,AXMOVAL,XAL,0JGEBIGPTRMOVY,3HLTBIGPTR:JEEQUPTRMOVY,HLT:MOVY,2HLTCODEENDSEND參考答案:CMP,1,EQUPTR:4、以ARRAY為首址的字單元中,存放了COUNT個(gè)有符號(hào)數(shù),下面程序是找出其中最大數(shù)并送給變量BIG,請(qǐng)把程序中所空缺的指令填上。DATA1SEGMENTARRAYDW1,2,9,-12,15,19COUNTEQU$—BUFFBIGDW?DATA1ENDSCODE1SEGMENTASSUMECS:CODE1,DS:DATA1START:MOVAX,DATA1MOVDS,AXMOVAX,ARRAYMOVCX,COUNT/2JCXZEXITLEABX,BUFFAGAIN:JGENEXTMOVAX,[BX]NEXT: ADDBX,2MOVBIG,AXEXIT: MOVAH,4CHINT21HCODE1ENDSENDSTART參考答案:CMPAX,[BX]LOOPAGAIN5、閱讀下列程序,回答后面的問題。DATA1SEGMENTBUFFDW-1,3,11,-2,-5,9XDW?DATA1ENDSCODE1SEGMENTASSUMECS:CODE1,DS:DATA1START: MOVAX,DATA1MOVDS,AXMOVAX,BUFFMOVCX,6LEABX,BUFFAGAIN: CMPAX,[BX]JLENEXTMOVAX,[BX]NEXT: ADDBX,2LOOPAGAINMOVX,AXMOVAH,4CHINT21HCODE1ENDSENDSTART請(qǐng)回答:〔1指令JLE的功能是。〔2上述程序段的功能是,上述程序段執(zhí)行后,X等于。參考答案:若小于或等于則轉(zhuǎn)移,數(shù)組BUFF的最小值送X,-56.下面程序段使用1號(hào)DOS功能調(diào)用從鍵盤接受兩個(gè)數(shù)字。如該程序段執(zhí)行時(shí),從鍵盤輸入‘2’和‘5’,請(qǐng)問執(zhí)行后,〔AX=_______,<BL>=?!璏OVAH,01HINT21HMOVBLMOVAH,01HINT21HXORAH,AHADDAL,BLAAAMOVBL,0JCEXITMOVBL,1EXIT:參考答案:0007H,01H7、設(shè)V、X、Y和Z都是有符號(hào)的字變量,下面程序段是實(shí)現(xiàn)運(yùn)算公式:〔V-〔X*Y+Z-540/X,請(qǐng)?jiān)诳崭裰刑钊霊?yīng)有的內(nèi)容。MOVAX,XIMULYMOVCX,AXMOVBX,MOVAX,ZCWDADDCX,AXBX,DXSUBCX,540BX,0MOVAX,VCWDSUBAX,CXSBBDX,BX參考答案:DX,ADCSBBIDIVX8、下面程序查找字符串STRING中是否有字母"B",有則AL=0;否則AL=-1,請(qǐng)將程序填寫完整。MOVES,SEGSTRINGLEA,STRINGMOVCX,20;假設(shè)字符串長(zhǎng)度為20CLDREPNZJZYESNO:MOVAL,-1YES:

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論