版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
匯編語言模擬試題及答案一,單選題(在每小題的四個(gè)備選答案中,選出一種對的的答案,并將其號碼填在題干后的括號內(nèi),每小題1分,共20分)1.指令JMP
FAR
PTR
DONE屬于參考答案為:CA.段內(nèi)轉(zhuǎn)移直接尋址B.段內(nèi)轉(zhuǎn)移間接尋址C.段間轉(zhuǎn)移直接尋址D.段間轉(zhuǎn)移間接尋址[解析]略2.下列敘述對的的是參考答案為:CA.對兩個(gè)無符號數(shù)進(jìn)行比較采用CMP指令,對兩個(gè)有符號數(shù)比較用CMPS指令B.對兩個(gè)無符號數(shù)進(jìn)行比較采用CMPS指令,對兩個(gè)有符號數(shù)比較用CMP指令C.對無符號數(shù)條件轉(zhuǎn)移采用JAE/JNB指令,對有符號數(shù)條件轉(zhuǎn)移用JGE/JNL指令D.對無符號數(shù)條件轉(zhuǎn)移采用JGE/JNL指令,對有符號數(shù)條件轉(zhuǎn)移用JAE/JNB指令[解析]對于無符號數(shù)和有符號數(shù)的比較都采用CMP指令;CMPS指令是串比較指令;對兩個(gè)無符號數(shù)的條件轉(zhuǎn)移指令應(yīng)是:JAE、JNB、JBE、JNA;對兩個(gè)有符號數(shù)的條件轉(zhuǎn)移指令應(yīng)是:JGE、JNL、JLE、JNG。3.一種有128個(gè)字的數(shù)據(jù)區(qū),它的起始地址為12ABH:00ABH,請給出這個(gè)數(shù)據(jù)區(qū)最末一種字單元的物理地址是參考答案為:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字與首字相隔(128-1=)127個(gè)字,且每個(gè)字占用2個(gè)字節(jié),因此末字單元的物理地址應(yīng)為:首字單元的物理地址+(128-1)×2即
12ABH×10H+00ABH+(128-1)×2=12C59H。4.在下列指令的表達(dá)中,不對的的是參考答案為:CA.MOV
AL,[BX+SI]B.JMP
SHORT
DONIC.DEC
[BX]D.MUL
CL[解析]當(dāng)只有一種存儲器操作數(shù)時(shí),這個(gè)操作數(shù)的類型不明確,例如選項(xiàng)C中的[BX],沒有明確的闡明訪問該存儲單元的類型,此時(shí)存儲器操作數(shù)就必須需用類型闡明,如DEC
BYTE
PTR
[BX]
或
DEC
WORD
PTR
[BX]但是在題目的選項(xiàng)C中,沒有指出存儲器操作數(shù)類型,因此該指令是不對的的;而其它選項(xiàng)中的指令均是對的的。5.在進(jìn)行二重循環(huán)程序設(shè)計(jì)時(shí),下列描述對的的是參考答案為:AA.外循環(huán)初值應(yīng)置外循環(huán)之外;內(nèi)循環(huán)初值應(yīng)置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)B.外循環(huán)初值應(yīng)置外循環(huán)之內(nèi);內(nèi)循環(huán)初值應(yīng)置內(nèi)循環(huán)之內(nèi)C.內(nèi)、外循環(huán)初值都應(yīng)置外循環(huán)之外D.內(nèi)、外循環(huán)初值都應(yīng)置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)[解析]循環(huán)參數(shù)置初值,應(yīng)在進(jìn)入循環(huán)以前給出。6.條件轉(zhuǎn)移指令JNE的測試條件為參考答案為:AA.ZF=0B.CF=0C.ZF=1D.CF=1[解析]略。7.8086CPU在基址加變址的尋址方式中,變址寄存器可覺得參考答案為:DA.BX或CXB.CX或SIC.DX或SID.SI或DI[解析]略8.已知BX=H,SI=1234H,則指令MOV
AX,[BX+SI+2]的源操作在(
)中。參考答案為:AA.?dāng)?shù)據(jù)段中偏移量為3236H的字節(jié)B.附加段中偏移量為3234H的字節(jié)C.?dāng)?shù)據(jù)段中偏移量為3234H的字節(jié)D.附加段中偏移量為3236H的字節(jié)[解析]指令中的源操作數(shù)的尋址方式是相對基址變址尋址,且由于其中的基址寄存器采用的是BX,因此源操作數(shù)是在數(shù)據(jù)段中,其偏移量為:BX+SI+2=H+1234H+2=3236H9.執(zhí)行以下程序:MOV
AX,0MOV
BX,1MOV
CX,100A:ADD
AX,BXINC
BXLOOP
AHLT執(zhí)行后(BX)=參考答案為:CA.99B.100C.101D.102[解析]1)在進(jìn)入循環(huán)之前,有三條指令分別初始化寄存器:AX為0、BX為1、CX為100;2)由于循環(huán)的控制部分采用的是LOOP指令,該指令有使CX減1,并判斷其與否為0的功效,因此可知該循環(huán)的執(zhí)行次數(shù)為100次;3)循環(huán)體的重要功效是每次循環(huán)使AX中的內(nèi)容累加BX的內(nèi)容,并使BX的內(nèi)容加1。4)直到最后一次(即第100次)循環(huán)時(shí),加到AX中的BX的內(nèi)容為100,且使BX加1,即變?yōu)?01后退出循環(huán)體。因此當(dāng)執(zhí)行完該段程序后,BX的內(nèi)容為101。5)該段程序的功效是(AX)=1+2+……+100=505010.上題的程序執(zhí)行后(AX)=參考答案為:BA.5000B.5050C.5100D.5150[解析]請參看上題中的分析。對的答案:B。11.對于下列程序段:AGAIN:MOV
AL,[SI]MOV
ES:[DI],ALINC
SIINC
DILOOP
AGAIN也可用______指令完畢同樣的功效。參考答案為:AA.REP
MOVSBB.REP
LODSBC.REP
STOSBD.REPE
SCASB[解析]該段程序的功效是將SI所指向的數(shù)據(jù)段中的數(shù)據(jù)次序傳送給DI所指向的附加段的一段數(shù)據(jù)區(qū)中,并且每次傳送一種字節(jié),即實(shí)現(xiàn)了字節(jié)串傳送的功效,因此也能夠使用REP
MOVSB指令來完畢同樣的功效。12.下面指令序列執(zhí)行后完畢的運(yùn)算,對的的算術(shù)體現(xiàn)式應(yīng)是MOV
AL,BYTE
PTR
XSHL
AL,1DEC
ALMOV
BYTE
PTR
Y,AL參考答案為:DA.y=x2+1B.x=y2+1C.x=y2-1D.y=x2-1[解析]該段程序的第一條指令的功效是將X傳送給AL;第二條指令的功效是將AL的內(nèi)容左移1位,即使得AL的內(nèi)容擴(kuò)大2倍;第三條指令的功效是使AL的內(nèi)容減1;第四條指令的功效是將AL傳送給Y;總而言之該程序完畢的運(yùn)算是Y=2X-1。13.在一段匯編程序中多次調(diào)用另一段程序,用宏指令比用子程序?qū)崿F(xiàn)起來。參考答案為:BA.占內(nèi)存空間小,但速度慢B.占內(nèi)存空間大,但速度快C.占內(nèi)存空間相似,速度快D.占內(nèi)存空間相似,速度慢[解析]1)宏指令簡化程序的書寫,不節(jié)省程序存儲空間,但執(zhí)行時(shí)間比子程序短。2)子程序簡化程序的書寫,也節(jié)省程序的存儲空間,但執(zhí)行時(shí)間比宏指令長。14.在程序執(zhí)行過程中,IP寄存器中始終保存的是參考答案為:BA.上一條指令的首地址B.下一條指令的首地址C.正在執(zhí)行指令的首地址D.需計(jì)算有效地址后才干擬定地址[解析]在程序運(yùn)行過程中,它始終指向下一條指令的首地址,它與CS代碼段寄存器聯(lián)合擬定下一條指令的物理地址。15.PSW寄存器中共有______位條件狀態(tài)位,有______位控制狀態(tài)位。參考答案為:AA.6、3B.3、6C.8、4D.4、8[解析]PSW有6位條件狀態(tài)位:AF、CF、ZF、PF、SF、OF;PSW有3位控制狀態(tài)位:IF、TF、DF16.下列指令執(zhí)行時(shí)出錯(cuò)的是參考答案為:AA.ADD
BUF1,BUF2B.JMP
DWORD
PTR
DAT
[BX]C.MOV
AX,[BX+DI]
NUMD.TEST
AL,08H[解析]ADD指令的兩個(gè)操作數(shù)不能同時(shí)是存儲器操作數(shù),因此選項(xiàng)A中的指令是錯(cuò)誤的。17.已知(AX)=1234H,執(zhí)行下述三條指令后,(AX)=參考答案為:DMOV
BX,AXNEG
BXADD
AX,BXA.1234HB.0EDCCHC.6DCCHD.0000H[解析]第一條指令的功效是將AX→BX,即BX中的內(nèi)容為1234H;第二條指令的功效是對BX求補(bǔ),即BX中的內(nèi)容變?yōu)椋?234H;第三條指令的功效是AX+BX→AX,即1234H+(-1234H)=0→AX;因此執(zhí)行三條指令后,AX的內(nèi)容為0。18.在下列指令中,______指令的執(zhí)行會影響條件碼中的CF位。參考答案為:DA.JMP
NEXTB.JC
NEXTC.INC
BXD.SHL
AX,1[解析]JMP、JC指令不任何影響狀態(tài)標(biāo)志位;INC指令執(zhí)行成果除不影響CF外,其他狀態(tài)標(biāo)志位(AF、OF、PF、SF、ZF)都受影響。SHL指令使CF=O,OF=O,影響ZF、SF、PF標(biāo)志位,AF無定義。19.串指令中的目的操作數(shù)地址是由______提供。參考答案為:CA.SS:[BP]B.DS:[SI]C.ES:[DI]D.CS:[IP][解析]略20.將DX的內(nèi)容除以2,對的的指令是參考答案為:CA.DIV
2B.DIV
DX,2C.SAR
DX,1D.SHL
DX,1[解析]選項(xiàng)A中的的指令執(zhí)行的操作是:AX/2;選項(xiàng)B中的的指令書寫格式不對的;選項(xiàng)C中的的指令執(zhí)行的操作是:將DX的內(nèi)容右移一位,將使DX的內(nèi)容縮小為原先的1/2,即將DX的內(nèi)容除以2;選項(xiàng)D中的的指令執(zhí)行的操作是:將DX的內(nèi)容左移一位,將使DX的內(nèi)容擴(kuò)大為原先的2倍,即將DX的內(nèi)容乘以2。[解析](1)指令:SHR
DX,
1
使DX的內(nèi)容向右移動了一位,因此DX的內(nèi)容變?yōu)?000’0000’0101’1100B,即005CH。(2)指令:RCR
DL,
1
使DL的內(nèi)容向右循環(huán)帶進(jìn)位移動了一位,DH的內(nèi)容不變,因此DX的內(nèi)容變?yōu)?000’0000’1101’1100B,即00DCH。(3)指令:RCL
DX,
CL
使DX的內(nèi)容向左循環(huán)帶進(jìn)位移動了3位,因此DX的內(nèi)容變?yōu)?000’0101’1100’1100B,即05CCH。2.寫出完畢下述功效的程序段:(1)傳送25H到AL寄存器(2)將AL的內(nèi)容乘以2(3)傳送15H到BL寄存器(4)AL的內(nèi)容乘以BL的內(nèi)容并請寫出最后(AX)=?
答:(1)MOV
AL,
25H(2)SHL
AL,
1(3)MOV
BL,
15H(4)MUL
BL最后,(AX)=612H
=1554[解析]1)將AL的內(nèi)容左移1位,將使它的內(nèi)容擴(kuò)大2倍,即使AL的內(nèi)容乘以2。2)最后,AX的內(nèi)容應(yīng)為25H*2*15H=612H=15543.寫一程序段,求雙字長數(shù)DX∶bX的相反數(shù)。
答:NEG
DXNEG
AXSBB
DX,
0[解析]求雙字長數(shù)DX:AX相反數(shù),即對其求補(bǔ),因此應(yīng)實(shí)現(xiàn)的操作是:(DX:AX)
←
0-(DX:AX)即
0
:
0-)
DX
:
AX將上面的算式分解后,即為對DX求補(bǔ),對AX求補(bǔ),并從DX中減去將AX求補(bǔ)時(shí)產(chǎn)生的借位。因此對應(yīng)的指令就是:NEG
DXNEG
AXSBB
DX,
0三,程序分析題(每小題6分,共36分)1.現(xiàn)有以下程序段:DATA
SEGMENT
DA3
EQU
1234HORG
0020H
DA4
EQU
$-DA2DA1
DW
12H,23H
DA5
DB
31H,32HDA2
DB
11H,21H
DATA
ENDS注意:程序是從左到右看,先把左邊的程序段看完了再看右邊的程序段。下面的程序段以相似的辦法進(jìn)行讀解。請回答:(1)該程序段已占有的存儲字節(jié)數(shù)是多少?(2)符號名DA4的值是多少?符號名DA5的值是多少?答:(1)
該程序段已占有的存儲字節(jié)數(shù)是8個(gè)字節(jié)。(2)
符號名DA4的值為2,符號名DA5的值是0026H。[解析]1)偽指令ORG
0020H,設(shè)立存儲單元起始偏移地址為0020H;2)符號名DA1的值(即所對應(yīng)存儲單元的偏移地址)是0020H,該數(shù)據(jù)區(qū)的類型為字,有2個(gè)字?jǐn)?shù)據(jù),因此共占用4個(gè)字節(jié);3)符號名DA2的值(即所對應(yīng)存儲單元的偏移地址)是0024H,該數(shù)據(jù)區(qū)的類型為字節(jié),有2個(gè)字節(jié)數(shù)據(jù),因此共占用2個(gè)字節(jié);4)經(jīng)EQU定義的符號名DA3、DA4不占用存儲空間,“$”
用來表達(dá)目前地址計(jì)數(shù)器的值(0026H),可它們的值分別為DA3=1234H,
DA4=2。5)符號名DA5的值(即所對應(yīng)存儲單元的偏移地址)是0026H,該數(shù)據(jù)區(qū)的類型為字節(jié),有2個(gè)字節(jié)數(shù)據(jù),因此共占用2個(gè)字節(jié);6)總而言之,該程序段共占有的存儲字節(jié)數(shù)8個(gè)字節(jié)。2.執(zhí)行下列程序段后,回答下列問題。ORG
1221H
MOV
BX,OFFSET
NUMNUM
DW
12H
MOV
CL,BYTE
PTR
NUM+1…
MOV
CH,TYPE
NUMMOV
AX,NUM
HLT請問:(AX)=______,(BX)=______,(CX)=______。
答:(AX)=0012H
(BX)=1221H
(CX)=0200H[解析]1)指令MOV
AX,
NUM的功效是將NUM單元的字內(nèi)容12H傳送給AX,使得(AX)=0012H;2)指令MOV
BX,
OFFSET
NUM的功效是將NUM單元的偏移地址1221H傳送給BX,使得(BX)=1221H;3)指令MOV
CL,
BYTE
PTR
NUM+1的功效是將NUM+1(1222H)單元的字節(jié)內(nèi)容(即NUM字單元的高字節(jié))00H傳送給CL,使得(CL)=00H;4)指令MOV
CL,
TYTE
NUM的功效是將NUM字單元的類型字節(jié)數(shù)2傳送給CH,使得(CH)=02H;5)綜合第4和第5點(diǎn),可知CX寄存器的內(nèi)容為0200H。3.閱讀以下程序:ADRR
DB
XXH,XXH,……,XXH
CMP
ADRR[BX],0NUM
EQU
$
-ADRR
LOOPZ
DONRETT
DB?
JNZ
NEXT…
MOV
BL,OFFHMOV
CX,NUM
NEXT:MOV
RETT,BLMOV
BX,-1
HLTDON:INC
BX請問:(1)該程序完畢的功效是什么?(2)程序執(zhí)行后指出RETT字節(jié)單元中的內(nèi)容是什么?
答:(1)
在以ADRR為起始地址的數(shù)組中,查找第一種非0數(shù)據(jù)。(2)
若找到則將第一種非0數(shù)據(jù)在數(shù)組中的偏移量送入RETT單元中;若無非0數(shù)據(jù),則將OFFH送入RETT單元中。[解析]1)程序的前3條指令,用于定義數(shù)據(jù):以ADRR為起始地址的數(shù)組;NUM的值為ADRR數(shù)組的數(shù)據(jù)個(gè)數(shù);RETT是一種空的字節(jié)單元2)該程序的主體是一種循環(huán),該循環(huán)的重要功效是在數(shù)組ADRR中第一種非0數(shù)據(jù)。如果是由于找到,則將第一種非0數(shù)據(jù)在數(shù)組中的偏移量送入RETT單元中;若沒找到非0數(shù)據(jù),則將OFFH送入RETT單元中。4.現(xiàn)有一子程序:SUB1
PROC
PLUS:TEST
BL,80HTEST
AL,80H(檢測AL中的數(shù)值最高位)
JE
EXITOJE
PLUS
XCHANGE:XCHG
AL,BLTEST
BL,80H
EXITO:RETJNE
EXITO
SUB1
ENDPJMP
XCHANGE試回答:(1)子程序的功效是什么?(2)若調(diào)用子程序前AL=9AH,BL=77H,則返回主程序時(shí),AL=______,BL=______。
答:(1)子程序的功效是鑒別AL和BL中的數(shù)與否為異號數(shù),當(dāng)為異號時(shí)交換,否則不變。(2)
AL=77H,
BL=9AH[解析]1)數(shù)據(jù)是以二進(jìn)制的形式存儲在計(jì)算機(jī)中的。數(shù)據(jù)對應(yīng)的二進(jìn)制數(shù)的最高位是數(shù)據(jù)的符號位:若為0表達(dá)該數(shù)為正數(shù),若為1表達(dá)該數(shù)為負(fù)數(shù);2)TEST
AL,
80H
和
TEST
BL,80H指令是在測試AL和BL的最高位(即符號位)的狀態(tài)是1還是0。3)若兩個(gè)數(shù)的最高位(即符號位)的狀態(tài)不同的時(shí)候(即兩數(shù)為異號),則執(zhí)行XCHANGE標(biāo)號所對應(yīng)語句,即交換AL和BL中的內(nèi)容。4)否則若兩個(gè)數(shù)的最高位(即符號位)的狀態(tài)相似的時(shí)候(即兩數(shù)為同號),則執(zhí)行EXIT0標(biāo)號所對應(yīng)語句,程序結(jié)束,即AL和BL中的內(nèi)容不被。5)因此第二問中,AL=9AH,BL=77H:AL中的數(shù)據(jù)的最高位為1,BL中的數(shù)據(jù)的最高位為0,即兩個(gè)數(shù)為異號,因此要交換AL和BL中的內(nèi)容,即AL=77H,BL=9AH。5.閱讀程序段:BLOCK
DB
20H,1FH,08H,81H,OFFH…
LOP1:CMP
AL,[SI+1]RESULT
DB?
JNG
NEXT…
MOV
AL,[SI+1]START:LEA
SI,BLOCK
NEXT:INC
SIMOV
CX,[SI]
LOOP
LOP1INC
SI
MOV
RESULT,ALMOV
AL,[SI]
HLT請問:(1)該程序完畢的功效是什么?(2)該程序循環(huán)的次數(shù)是多少?
答:(1)
該程序完畢的功效是從20H(32)個(gè)有符號數(shù)中找出最小的數(shù)送入RESULT單元中。(2)
該程序的循環(huán)次數(shù)是1FH(31)。[解析]1)指令LEA
SI,
BLOCK的功效是使SI指向了BLOCK數(shù)組的首單元;2)指令MOV
CX,
[SI]的功效是將SI指向單元的內(nèi)容20H傳送給CX,即(CX)=20H;其后又有指令DEC
CX,使得CX的內(nèi)容變?yōu)?FH;再看循環(huán)體的控制部分采用的指令是LOOP,可知,該循環(huán)的執(zhí)行次數(shù)為1FH次;3)循環(huán)體的重要功效是將AL中的內(nèi)容與[SI]所指向數(shù)組的每一種數(shù)據(jù)進(jìn)行比較,從數(shù)組中選出最小數(shù)保存在AL中。4)由于比較后采用的轉(zhuǎn)移指令是JNG,因此該程序解決的顯然是一組有符號的數(shù)據(jù)。6.閱讀以下程序段,回答所提出的問題,假定X1,X2,XN為無符號數(shù)。ORG
100HBLOK
DW
X1,X2,…,XNCOUNT
EQU($-BLOLOK)/2RESULT
DW
COUNT,?LEA
BX,BLOK-2MOV
CX,RESULTXOR
AX,AXGOON:ADD
BX,2CMP
AX,[BX]JAE
NEXTMOV
AX,[BX]NEXT:LOOP
GOONMOV
RESULT+2,AX程序段執(zhí)行完,回答下述問題RESULT+2字存儲單元的內(nèi)容=______BX=______程序循環(huán)次數(shù)=______
答:RESULT+2字存儲單元的內(nèi)容是MAX(X1,
X2,
…
XN)BX=
100H
+
2×(COUNT-1)程序循環(huán)次數(shù)=
COUNT[解析]1)該程序段的開始4條指令定義了下列數(shù)據(jù):以BLOK為起始地址的字?jǐn)?shù)組,該數(shù)組首單元的偏移地址(即BLOK)為
100H;COUNT的值為BLOK字?jǐn)?shù)組的數(shù)據(jù)個(gè)數(shù);RESULT存儲區(qū)的第一種字的內(nèi)容為COUNT,即BLOK字?jǐn)?shù)組的數(shù)據(jù)個(gè)數(shù);第二個(gè)字的內(nèi)容為空。2)循環(huán)體的重要功效是從BLOK字?jǐn)?shù)組中找出最大數(shù)送入RESULT的第二個(gè)字單元中;3)循環(huán)次數(shù)為數(shù)組中數(shù)據(jù)的個(gè)數(shù),即COUNT個(gè)。4)當(dāng)循環(huán)結(jié)束后,BX中將寄存最后一種字?jǐn)?shù)據(jù)的偏移地址:首字偏移地址+末字與首字的相隔的字節(jié)數(shù),即100H
+
2×(COUNT-1)。四,程序填空題(注意:下列各小題中,每空只能填一條指令!每小題6分,共12分)1.在表TABLE處寄存著N個(gè)無符號字節(jié)數(shù),求表中前10個(gè)字節(jié)數(shù)的總和并保存在AX寄存器中。如果總和值超出AX寄存器的容量,則置AX寄存器內(nèi)容不變。請?jiān)诔绦蛑械目崭裉幪钊牒线m指令使其完整。LEA
BX,TABLE
(2)MOV
CX,10
JC
END0MOV
SUM,AX
DON:INC
BXMEXT:(1)
(3)ADC
AH,0
ENDO:HLTJNC
DON
答:(1)
ADD
AL,
[BX](2)
MOV
AX,
SUM(3)
LOOP
NEXT[解析]1)程序的前三條指令的功效分別是:將表TABLE的首址傳送給BX;將循環(huán)次數(shù)傳送給計(jì)數(shù)器CX;將AX的原值保存在SUM單元中;以上指令實(shí)現(xiàn)了設(shè)立循環(huán)初始參數(shù)的功效。2)標(biāo)號NEXT所對應(yīng)的第一種空白處就是循環(huán)體的第一條指令。根據(jù)題目的規(guī)定——求表中前10個(gè)字節(jié)數(shù)的總和,可知循環(huán)每次應(yīng)實(shí)現(xiàn)將表TABLE中的數(shù)據(jù)按字節(jié)加法的方式進(jìn)行累加到AL中,并且將字節(jié)加法產(chǎn)生的進(jìn)位加到AH中。因此第一種空白處應(yīng)填入指令:ADD
AL,
[BX]3)程序的第五條指令實(shí)現(xiàn)的是判斷求得的和與否超出AX寄存器的容量。4)如果有進(jìn)位(即已超出AX寄存器的容量),則執(zhí)行第二個(gè)空白處的指令,根據(jù)題目當(dāng)出現(xiàn)此種狀況時(shí),使AX內(nèi)容不變,即恢復(fù)其原值,因此第二個(gè)空白處應(yīng)填入指令:MOV
AX,
SUM。5)如果沒有進(jìn)位(即未超出AX寄存器的容量),則轉(zhuǎn)DON。程序?qū)⑹笲X的內(nèi)容加1,即使其指向下一種表中的字節(jié)數(shù)據(jù)。接下來就應(yīng)當(dāng)將計(jì)數(shù)器CX減1,并判斷與否繼續(xù)下一次循環(huán)。因此,第三個(gè)空白處應(yīng)填入指令:
LOOP
NEXT。2.BEG為起始地址的存儲區(qū)域中寄存有100個(gè)字節(jié)數(shù)據(jù),現(xiàn)將其首、尾顛倒過來,重新排放這100個(gè)字節(jié)數(shù)據(jù)。請?jiān)诔绦蛑械目崭裉幪钊牒线m的指令使其完整。MOV
CX,32HLEA
SI,BEGMOV
DI,SI(1)DON:MOV
AL,[SI](2)MOV
[SI],AL(3)DEC
DILOOP
DONHLT
答:(1)
ADD
DI,
99
(2)
XCHG
AL,
[DI]
(3)
INC
SI[解析]1)
題目規(guī)定:將以BEG為起始地址的區(qū)域中的100個(gè)字節(jié)數(shù)據(jù)首尾顛倒寄存。例如,如果原先為X1,X2,
X3,…,
X98,
X99,
X100,則首尾顛倒后將變?yōu)閄100,
X99,
X98,…,X3,
X2,X1。2)
顛倒的辦法是:將X1與X100對調(diào)、X2與X99對調(diào)、X3與X98對調(diào)、……,即將前二分之一的數(shù)據(jù)與后二分之一對應(yīng)位置的數(shù)據(jù)對調(diào)。這個(gè)過程每次解決兩個(gè)數(shù)據(jù),因此共有(100/2=)50對數(shù)據(jù)對調(diào)。3)
根據(jù)以上分析可知,這個(gè)循環(huán)將進(jìn)行50(32H)次,每次將對應(yīng)的兩個(gè)數(shù)據(jù)對調(diào),這兩個(gè)數(shù)據(jù)可分別由兩個(gè)寄存器來指向。4)
閱讀程序可知,SI寄存器指向前二分之一中的某個(gè)數(shù)據(jù),DI寄存器指向后二分之一中對應(yīng)的數(shù)據(jù)。在循環(huán)的初始化部分,使應(yīng)計(jì)數(shù)器CX的值為50(或32H),SI指向第一種數(shù),DI指向最后一種數(shù),因此第一種空白處應(yīng)填入指令:ADD
DI,
99。5)
在循環(huán)體中,應(yīng)首先交換SI和DI所指向單元的內(nèi)容,然后使指針SI加1、DI減1,因此第二、三個(gè)空白處應(yīng)填入指令:①
XCHG
AL,
[DI]②
INC
SI五,編制程序題(第1小題6分,第2小題14分,共20分)1.試編寫一種匯編語言程序,規(guī)定對鍵盤輸入的小寫字母用大寫字母顯示出來。
答:1.BEGIN:MOV
AH,1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 媒體行業(yè)內(nèi)容創(chuàng)作授權(quán)合同
- 城市智能交通管理系統(tǒng)建設(shè)合同
- 建材購銷合同簡單范本
- 協(xié)議酒店年度合同
- 標(biāo)準(zhǔn)體育場地租賃合同范文
- 技術(shù)開發(fā)委托合同范本
- 進(jìn)出口合同的履行
- 員工借調(diào)服務(wù)合同
- 道路交通事故糾紛法律知識一本全-記錄
- 基于膜解剖的腹腔鏡與機(jī)器人結(jié)直腸腫瘤手術(shù)學(xué)-隨筆
- 醫(yī)院物業(yè)服務(wù)組織機(jī)構(gòu)及人員的配備、培訓(xùn)管理方案
- 外觀判定標(biāo)準(zhǔn)
- 江西上饒市2025屆數(shù)學(xué)高二上期末檢測試題含解析
- 腦卒中后吞咽障礙患者進(jìn)食護(hù)理團(tuán)體標(biāo)準(zhǔn)
- 工行人工智能風(fēng)控
- 2023風(fēng)電機(jī)組預(yù)應(yīng)力混凝土塔筒與基礎(chǔ)結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)
- 小學(xué)語文閱讀教學(xué)落實(shí)學(xué)生核心素養(yǎng)方法的研究-結(jié)題報(bào)告
- 一年級的成長歷程
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 正月十五元宵節(jié)介紹課件
- 病毒性肺炎疾病演示課件
評論
0/150
提交評論