




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PC技術(shù)機(jī)試模擬試卷1(共9套)(共9題)PC技術(shù)機(jī)試模擬試卷第1套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序,其功能為:設(shè)由20個(gè)8位有符號(hào)數(shù)構(gòu)成一個(gè)數(shù)組,試依次去掉其中負(fù)的奇數(shù),生成一個(gè)新的數(shù)組(順序不變)。結(jié)果存放在RESULT開始的內(nèi)存單元中。部分程序已經(jīng)給出,其中原始數(shù)據(jù)由LOAD過程從文件INPUT1.DAT中讀入從SOURCE開始的內(nèi)存單元,運(yùn)算結(jié)果要求從RESULT開始存放,由SAVE過程保存到OUTPUT1.DAT文件中。請(qǐng)?jiān)贐EOIN和END之間補(bǔ)充使其完整。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生PROG1.EXE執(zhí)行文件,最終產(chǎn)生運(yùn)行結(jié)果。部分程序如下:;PROG1.ASMEXTRNLOAD:FAR,SAVE:FARLENEQU20DSEGSEGMENTSOURCEDWNDUP(?)RESULTDWNDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB256DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG;SS:SSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXMOVES,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD;***BEGIN***………………;***END***LEADX,RESULTLEASI,NAME1MOVCX,NCALLSAVERETSTARTENDPCSEGENDSENDSTART標(biāo)準(zhǔn)答案:;***BEGIN***LEASI,SOURCELEADI,RESULTMOVCX,20LOOP1:MOVAL,[SI]MOVAH,ALSHRAH,1JNCLOOP2CMPAL,0.JNLLOOP2JMPEXITLOOP2:MOV[DI],ALINC,DIEXIT:INCSILOOPLOOP1;***END***[INPUT1.DAT中的輸入數(shù)據(jù)]:81H,60H,8EH,38H,68H,60H,8EH,38H,68H,5EH,50H,64H,52H,55H,48H,3AH,4AH,40H,42H,23H[輸出結(jié)果]608E3868608E38685E50645255483A4A40422300知識(shí)點(diǎn)解析:暫無(wú)解析PC技術(shù)機(jī)試模擬試卷第2套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序PROG1.ASM,其功能是:以SOURCE開始的內(nèi)存區(qū)域中存放著N個(gè)字節(jié)的有符號(hào)數(shù)?,F(xiàn)找出最大的數(shù),結(jié)果存放到RESULT指示的單元,其后存放原N個(gè)數(shù)邏輯取反后的值。例如:數(shù)據(jù)為:09H,7EH,89H,F3H,17H,……,67H(N個(gè)數(shù)據(jù))結(jié)果為:7EH(最大數(shù)),F(xiàn)6H,81H,76H,0CH,E8H,……,98H(原來N個(gè)數(shù)的邏輯反)部分程序已給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內(nèi)存單元中。運(yùn)算結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之間已給出的源程序使其完整(空白已用橫線標(biāo)出,每行空白一般只需一條指令,但采用功能相當(dāng)?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生PROG1.EXE執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果(無(wú)結(jié)果或結(jié)果不正確者均不得分)。調(diào)試中若發(fā)現(xiàn)整個(gè)程序中存在錯(cuò)誤之處,請(qǐng)加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU19STACSEGMENTSTACKDB128DUP(?)STACENDSDATASEGMENTSOURCEDBNDUP(0)RESULTDBN+1DUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVES,AXLEADX,SOURCE;數(shù)據(jù)區(qū)起始地址LEASI,NAME0;原始數(shù)據(jù)文件名MOVCX,N;字節(jié)數(shù)CALLLOAD;從INPUT1.DAT中讀取數(shù)據(jù);****BEGIN****(1)SI,SOURCEMOVBX,OFFSETSOURCELEADI,RESULTMAXD1:MOVCX,NMOVDX,CXMOVAL,(2)MAXD2:INCBX(3)AL,[BX](4)MOVAL,[BX]MAXD3:DECDXJNZ(5)MOV[DI],ALINCDICLDMREP:LODSBNOTAL(6)LOOPMREP;****END****LEADX,RESULT;結(jié)果數(shù)據(jù)區(qū)首址LEASI,NAME1;結(jié)果文件名起始地址MOVCX,N+1;字節(jié)數(shù)CALLSAVE;保存結(jié)果到OUTPUT1.DAT文件中RETSTARTENDPCODEENDSENDSTART標(biāo)準(zhǔn)答案:(1)LEA(2)[BX](3)CMP(4)JGEMAXD3(5)MAXD2(6)STOSB知識(shí)點(diǎn)解析:在MAXD2程序段中進(jìn)行比較,找最大值;在MAXD3程序段中對(duì)非最大值進(jìn)行邏輯取反。PC技術(shù)機(jī)試模擬試卷第3套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、編制一個(gè)程序,其實(shí)現(xiàn)的功能為:計(jì)算10個(gè)帶符號(hào)字節(jié)數(shù)據(jù)的絕對(duì)值之和(和為字型),并且找出絕對(duì)值最小的數(shù)及其所在的偏移地址,將結(jié)果依次存入指定的內(nèi)存區(qū)中,結(jié)果以0FH結(jié)束。例如:內(nèi)存中有:23H,14H,00H,08H,PEH,87H,02H,01H,PPH,01H結(jié)果為:BFH,00H,00H,02H,00H,0FH部分程序已經(jīng)給出,原始數(shù)據(jù)由過程LOAD從文件INPUT.DAT中讀入以SOURCE開始的內(nèi)存單元中。運(yùn)算結(jié)果要求從RESULT開始的內(nèi)存單元存放,由過程SAVE保存到文件OUTPUT.DAT中。請(qǐng)?zhí)羁誃EGIN和END之間已給出的源程序使其完整,空白已經(jīng)用橫線標(biāo)出,每行空白一般只需要一條指令,但采用功能相當(dāng)?shù)亩鄺l指令也行,考生也可以刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生可執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果。調(diào)試中若發(fā)現(xiàn)整個(gè)程序中存在錯(cuò)誤之處,請(qǐng)加以修改。[試題程序]EXTRNLOAD:FAR,SAVE:FARNEQU10DSEGSEGMENTSOURCEDBNDUP(?)RESULTDB6DUP(0)MINDB?NAME0DB’INPUT.DAT’,0NAME1DB’OUTPUT.DAT’,0DSEGENDSSSEGEGMENTSTACKDB256DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD;********BEGIN***********LEASI,SOURCELEADI,RESULTMOVDX,SIMOVCX,N-1MOVAL,[SI]SUBAX,0JNSNEXTNEGALNEXT:MOVMIN,ALADD[DI],AL(1)AGAIN:INCSIMOVAL,[SI]ADDAL,0JNSNEXT1(2)NEXT1:ADD[DI],AL(3)CMPMIN,ALJBENEXT2MOVMIN,AL(4)NEXT2:LOOPAGAINADDDI,2MOVAL,MINMOV[DI],ALINCDIMOV[DI],DXADDDI,2MOV(5),0FH***********END*************LEADX,RESULTLEASI,NAME1MOVCX,6CALLSAVERETSTARTENDPCSEGENDSENDSTART標(biāo)準(zhǔn)答案:(1)ADCBYTEPTR[DI+1],0(2)NEGAL(3)ADCBYTEPTR[DI+1],0(4)MOVDX,SI(5)BYTEPTR[DI]知識(shí)點(diǎn)解析:程序的整體結(jié)構(gòu)是:先對(duì)數(shù)據(jù)進(jìn)行判斷,若是正數(shù),則直接求和,否則求補(bǔ)以后再進(jìn)行相加。并且對(duì)每個(gè)數(shù)的絕對(duì)值進(jìn)行比較,絕對(duì)值最小的數(shù)放在MIN中,絕對(duì)值最小數(shù)的偏移地址放在DX中。程序開始進(jìn)行的是指針的初始化,SI中為SOURCE的偏移地址,DI中為RESULT的偏移地址,并將SOURCE中第一個(gè)存儲(chǔ)單元的數(shù)據(jù)和地址分別放在AL和DX中。第一個(gè)數(shù)裝入以后,需要對(duì)其進(jìn)行判斷,如果為正數(shù)的話,可以接著執(zhí)行下面的程序段,否則就求出它的絕對(duì)值(即對(duì)其進(jìn)行求補(bǔ)操作)。完成操作以后,就可以把第一個(gè)數(shù)當(dāng)成比較對(duì)象和其他值的絕對(duì)值進(jìn)行比較。首先將AL中的數(shù)放入MIN中,然后將其加到RESULT的第一個(gè)單元中(即DI所指的地址單元中),在執(zhí)行加法運(yùn)算時(shí),要將其進(jìn)位也加進(jìn)去,所以第一個(gè)空白處應(yīng)該填的內(nèi)容是對(duì)進(jìn)位進(jìn)行相加,即ADCBYTEPTR[DI+1],0。從第二個(gè)數(shù)據(jù)開始,程序進(jìn)入循環(huán),即后面的數(shù)將執(zhí)行同一操作:判斷是否為正數(shù),若是正數(shù),則直接加入DI所指的單元,否則求補(bǔ)以后再加入。同時(shí),把數(shù)據(jù)的絕對(duì)值與MIN中的內(nèi)容進(jìn)行比較,如果數(shù)據(jù)的絕對(duì)值小于MIN則將數(shù)據(jù)放入M1N中,并且把此時(shí)的偏移地址SI存入DX中,否則執(zhí)行下一次加法與比較操作。因此,對(duì)于2~4個(gè)空缺處來說,需要完成的就是上述的操作。執(zhí)行完加法操作和找出絕對(duì)值最小的數(shù)以后,接下來便是按照要求對(duì)結(jié)果進(jìn)行存儲(chǔ)。由于題目要求最后一個(gè)存儲(chǔ)單元為0FH,所以最后一步操作應(yīng)該是存入0FH。由于此時(shí)DI已經(jīng)指向RESULT的最后一個(gè)單元,因此可以直接存入。但需要注意的是不能使用MOV[DI],0FH的語(yǔ)句,因?yàn)檫@樣將不知道是把0FH存入[DI]單元,還是把0FH和00H存入[DI]和[DI+1]單元,所以應(yīng)該指定操作數(shù)的類型,即MOVBYTEPTR[DI],0FH。PC技術(shù)機(jī)試模擬試卷第4套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、試題要求如下:請(qǐng)編制程序,其功能是:內(nèi)存中連續(xù)存放著30個(gè)無(wú)符號(hào)字節(jié)數(shù),求它們的和。和值形式按字存放,此前按順序存放參加運(yùn)算的30個(gè)字節(jié)。例如:內(nèi)存中有01H,02H,03H,……結(jié)果為01H,02H,03H,……(30個(gè)參加運(yùn)算的字節(jié)),后跟一個(gè)字(為前面30個(gè)字節(jié)的和)。部分程序已給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內(nèi)存單元中,運(yùn)算的結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。補(bǔ)充BEGIN和END之間已給出的源程序使其完整(空白已用橫線標(biāo)出,每行空白一般只需一條指令,但采用功能相當(dāng)?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對(duì)程序進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果。調(diào)試中發(fā)現(xiàn)整個(gè)程序中存在錯(cuò)誤之處,請(qǐng)加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU30STACSEGMENTSTACKDB128DUP(?)STACENDSDATASEGMENTSOURCEDBNDUP(?)RESULTDBN+2DUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXLEADX,SOURCE;數(shù)據(jù)區(qū)起始地址LEASI,NAME0;原始數(shù)據(jù)文件名MOVCX,N;字節(jié)數(shù)CALLLOAD;從’INPUT1.DAT’中讀取數(shù)據(jù);****BEGIN****LEASI,SOURCELEADI,RESULTMOVCX,NMOVBX,0NEXT:MOVAL,[SI](1)(2)MOV[DI],(3)INCSI(4)LOOPNEXTMOV[DI],(5);****END****LEADX,RESULT;結(jié)果數(shù)據(jù)區(qū)首址LEASI,NAME1;結(jié)果文件名MOVCX,N+2;結(jié)果字節(jié)數(shù)CALLSAVE;保存結(jié)果到文件RETSTARTENDPCODEENDSENDSTART標(biāo)準(zhǔn)答案:(1)MOVAH,0;設(shè)初值(2)ADDBX,AX;第一次求和(3)AL(4)INCDI;移動(dòng)地址讓上個(gè)數(shù)的所得結(jié)果和下個(gè)數(shù)相加(5)BX;保存數(shù)據(jù)知識(shí)點(diǎn)解析:此題是一個(gè)求和的問題,NEXT中用循環(huán)指令求和。先設(shè)一個(gè)初值為0,讓它和內(nèi)存中存儲(chǔ)的第一個(gè)數(shù)據(jù)相加,然后讓所得結(jié)果和下一個(gè)數(shù)相加,直到循環(huán)結(jié)束為止。PC技術(shù)機(jī)試模擬試卷第5套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序PROG1.ASM,其功能是:統(tǒng)計(jì)30個(gè)學(xué)生成績(jī)中得分在100~90、89~80、79~70、69~60區(qū)間以及低于60分的人數(shù),并計(jì)算30個(gè)學(xué)生的平均成績(jī)(取整數(shù)),結(jié)果依次存入指定的內(nèi)存區(qū)域。例如:內(nèi)存中有10個(gè)分?jǐn)?shù);5EH,50H,64H,52H,55H,48H,3AH,4AH,40H,42H結(jié)果為:02H,03H,02H,02H,01H,4DH(平均成績(jī))部分程序已給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內(nèi)存單元中。運(yùn)算結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之間已給出的源程序使其完整(空白已用橫線標(biāo)出,每行空白一般只需一條指令,但采用功能相當(dāng)?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生PROG1.EXE執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果(無(wú)結(jié)果或結(jié)果不正確者均不得分)。調(diào)試中若發(fā)現(xiàn)整個(gè)程序中存在錯(cuò)誤之處,請(qǐng)加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU30LEQU5DSEGSEGMENTSOURCEDBNDUP(?)RESULTDBN+1DUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB256DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,SS:SSEG,DS:DSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD;***BEGIN***LEASI,SOURCELEADI,RESULTXORBX,BX(l)MOVCX,NGOON:LODSB(2)ADDBX,AX(3)JAEA1CMPAL,80JAEA2CMPAL,70JAEA3CMPAL,60JAEA4INC(4)(5)A4:INCBYTEPTR[DI+3]JMPNEXTA3:INCBYTEPTR[DI+2]JMPNEXTA2:INCBYTEPTR[DI+I]JMPNEXTA1:INCBYTEPTR[DI]NEXT:LOOPGOONMOVAX,(6)MOVDL,(7)DIVDLMOV[DI+5],AL;***END***LEADX,RESULTLEASI,NAME1MOVCX,L+1CALLSAVERETSTARTENDPCSEGENDSENDSTART標(biāo)準(zhǔn)答案:(1)XORAX,AX(2)CBW(3)CMPAL,90(4)BYTEPTR[DI+4](5)JMPNEXT(6)BX(7)N知識(shí)點(diǎn)解析:首先將AX和BX都置零,對(duì)操作數(shù)進(jìn)行擴(kuò)展,從高于90分的開始統(tǒng)計(jì),一直到低于60分為止。對(duì)于不同的分?jǐn)?shù)段分別增加相應(yīng)的計(jì)數(shù)器,最后計(jì)算所有學(xué)生的平均成績(jī)。PC技術(shù)機(jī)試模擬試卷第6套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序,其功能是:內(nèi)存中連續(xù)存放著20個(gè)ASCⅡ字符,如果是小寫字母a~z之間的字符(包括字母a和z),請(qǐng)把它們轉(zhuǎn)換成相應(yīng)的大寫字母所對(duì)應(yīng)的ASCⅡ字符;若為其他字符,不作轉(zhuǎn)換。例如:內(nèi)存中有:61H(’a’),62H(’b’),31H(’1’),41H(’A’),42H(’B’)…結(jié)果為:41H(’A’),42H(’B’),31H,41H,42H…部分程序已經(jīng)給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內(nèi)存單元中,運(yùn)算結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。請(qǐng)?zhí)羁誃EGIN和END之間已給出的源程序使其完整,空白處已用橫線標(biāo)出,每行空白一般只需一條指令,但采用功能相當(dāng)?shù)亩鄺l指令亦可,或刪去BEGIN和END之間原有的代碼并自行編程來完成所要求的功能。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ連接產(chǎn)生可執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果。調(diào)試中若發(fā)現(xiàn)整個(gè)程序存在錯(cuò)誤之處,請(qǐng)加以修改?!驹囶}程序】EXTRNLOAD:FAR,SAVE:FARNEQU20STACSEGMENTSTACKDB128DUP(?)STACENDSDATASEGMENTSOURCEDBNDUP(?)RESULTDBNDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXLEADX,SOURCE;數(shù)據(jù)區(qū)起始地址LEASI,NAME0;原始數(shù)據(jù)文件名MOVCX,N;字節(jié)數(shù)CALLLOAD;從"INPUT.DAT"中讀取數(shù)據(jù);********BEGIN********LEASI,SOURCELEADI,RESULTMOVCX,NNEXT:MOVAL,[SI]CMPAL,’a’JB(1)CMPAL,(2)J(3)UPPER2SUBAL,(4)UPPER2:HOV[DI],(5)INC(6)INC(7)(8)NEXT;********END********LEADX,RESULT;結(jié)果數(shù)據(jù)區(qū)首址LEASI,NAME1;結(jié)果文件名MOVCX,N;結(jié)果字節(jié)數(shù)CALLSAVE;保存結(jié)果到文件RETSTARTENDPCODEENDSENDSTART標(biāo)準(zhǔn)答案:(1)UPPER2(2)’z’(3)JA(4)20H(5)AL(6)SI(7)DI(8)LOOP知識(shí)點(diǎn)解析:本題主要考查的是將小寫字母改寫成大寫字母的實(shí)現(xiàn)方法。題目中給出的程序是利用循環(huán)依次對(duì)每個(gè)字符進(jìn)行判斷是否是小寫字母,若是則減去32即成為該字母相對(duì)應(yīng)的大寫字母。PC技術(shù)機(jī)試模擬試卷第7套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序,其功能為:將內(nèi)存中存放的連續(xù)的30個(gè)二進(jìn)制數(shù)(0到100之間),按數(shù)值大小分別進(jìn)行統(tǒng)計(jì),0~59為D,60~74為C,75~84為B,85~100為A,統(tǒng)計(jì)出A、B、C、D的個(gè)數(shù),并按A、B、C、D次序存放在內(nèi)存中。例如:內(nèi)存中原始數(shù)據(jù)為:21H,3CH,4DH,31H,4FH,51H,56H統(tǒng)計(jì)結(jié)果:1,3,1,2部分程序已經(jīng)給出,其中原始數(shù)據(jù)由LOAD過程從文件INPUT1.DAT中讀入從SOURCE開始的內(nèi)存單元,轉(zhuǎn)換結(jié)果(要求從RESULT開始讀入)由SAVE過程保存到OUTPUT1.DAT文件中。請(qǐng)?jiān)贐EGIN和END之間補(bǔ)充使其完整,完成要求的功能?;騽h除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生PROG1.EXE執(zhí)行文件,最終產(chǎn)生運(yùn)行結(jié)果。部分程序如下:;PROG1.ASMEXTRNLOAD:FAR,SAVE:FARNEQU30DSEGSEGMENTSOURCEDBNDUP(?)RESULTDBNDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB128DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG;SS:SSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXMOVES,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD;***BEGIN***MOVCX,NLEASI,SOURCECONT:MOVAL,[SI]_____________JBLBINCRESULTJMPOKLB:CMPAL,75JBLCINC______JMPOKLC:CMPAL,60JBLD____________JMPOKLD:____________OK:INCSILOOPCONT;***END***LEADX,RESULTLEASI,NAME1MOVCX,4CALLSAVERETSTARTENDPCSEGENDSENDSTART標(biāo)準(zhǔn)答案:;***BEGIN***MOVCX,NLEASI,SOURCECONT:MOVAL,[SI]CMPAL,85JBLBINCRESULTJMPOKLB:CMPAL,75JBLCINCRESULT+1JMPOKLC:CMPAL,60JBLDINCRESULT+2JMPOKLD:INCRESULT+3OK:INCSILOOPCONT;***END***[INPUT1.DAT中的輸入數(shù)據(jù)]:60H,3CH,4DH,31H,4FH,51H,56H,59H,41H,32H35H,21H,4FH,3AH,21H,2BH,51H,11H,45H,44H3AH,1EH,3BH,34H,3CH,46H,63H,24H,40H,3EH[輸出結(jié)果]:040508OD知識(shí)點(diǎn)解析:暫無(wú)解析PC技術(shù)機(jī)試模擬試卷第8套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序,其功能是:內(nèi)存中連續(xù)存放著16個(gè)二進(jìn)制字節(jié)數(shù),在原16個(gè)數(shù)的第4和第5個(gè)數(shù)之間插入00H,在原16個(gè)數(shù)的第8和第9個(gè)數(shù)之間插入55H,在原16個(gè)數(shù)的第12和第13個(gè)數(shù)之間插入AAH,在原16個(gè)數(shù)的最后加入FFH。將按上述方法插入4個(gè)字節(jié)數(shù)后得到的20個(gè)字節(jié)數(shù)存入內(nèi)存中。例如:內(nèi)存中有:10H,20H,30H,40H,50H,…,8FH(共16今字節(jié))結(jié)果為:10H,20H,30H,40H,00H,50H,…,8FH,F(xiàn)FH(共20個(gè)字節(jié))部分程序已給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DA了中讀入SOURCE開始的內(nèi)存單元中。運(yùn)算結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。請(qǐng)?zhí)羁誃EGIN和END之間已經(jīng)給出的源程序使其完整,需填空處已經(jīng)用橫線標(biāo)出,每個(gè)空白一般只需一條指令,也可以填入功能相當(dāng)?shù)亩鄺l指令,或刪去BEGIN和END之間原有的代碼并自行編程來完成所要求的功能。對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生可執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果。調(diào)試中若發(fā)現(xiàn)整個(gè)程序中存在錯(cuò)誤之處,請(qǐng)加以修改。[試題程序]EXTRNLOAD:FAR,SAVE:FARNEQU16STACSEGMENTSTACKDB128DUP(?)STACENDSDATASEGMENTSOURCEDBNDUP(?)INDATADB0FFH,0AAH,55H,00HRESULTDBN+4DUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DATAENDSCODESECMENTASSUMECS:CODE,DS:DATA,SS:STACSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXEADX,SOURCE;數(shù)據(jù)區(qū)起始地址EASI,NANE0;原始數(shù)據(jù)文件名OVCX,N;字節(jié)數(shù)ALLLOAD;從’INPUT1.DAT’中讀取數(shù)據(jù);********BEGIN********(1)OVDI,0OVCX,4OVBX,4CHAN:(2)OVRESULT[GI],AH(3)NCDIECCXZINSER1MPCHANINSER1:PUSHSIMOVSI,BXMOVAX,WORDPTRINDATA[SI-2]MOVRESULT[DI],(4)DECBXJZ(5)MOVCX,04H(6)INCDIJMP(7)EXIT:POPSI;********END*********LEADX,RESULT結(jié)果數(shù)據(jù)區(qū)首址LEASI,NAME1;結(jié)果文件名MOVCX,N+4;結(jié)果字節(jié)數(shù)CALLSAVE保存結(jié)果到文件RETSTARTENDPCODEENDSENDSTART標(biāo)準(zhǔn)答案:(1)MOVSI.0(2)MOVAH,SOURCE[SI](3)INCSI(4)AH(5)EXIT(6)POPSI(7)CHAN知識(shí)點(diǎn)解析:此程序所要實(shí)現(xiàn)的過程是在連續(xù)存放的16個(gè)數(shù)的四個(gè)不同位置當(dāng)中插入四個(gè)不同的數(shù)。程序開始,將要插入的四個(gè)數(shù)即:0FPH,0AAH,55H,00H,先定義成字節(jié)型變量INDATA。程序中寄存器BX和CX的作用主要是用于計(jì)數(shù)控制。CX用于控制一次存儲(chǔ)4個(gè)數(shù)到結(jié)果數(shù)據(jù)區(qū)中,一共要存儲(chǔ)四組。這四組分別是第1~4個(gè)、第5~8個(gè)、第9~12個(gè)、第13~16個(gè)。存完一組數(shù)據(jù)后,在各組后面分別插入00H、55H、0AAH、0FPH。BX用于控制所要插入數(shù)的個(gè)數(shù),插入完一個(gè)數(shù)后,BX減1。程序的堆棧段定義了一個(gè)128字節(jié)的堆棧區(qū),堆棧段下面是數(shù)據(jù)段。數(shù)據(jù)段中定義了五個(gè)字節(jié)型變量:原始數(shù)據(jù)區(qū)SOURCE、變量INDATA(包括四個(gè)將要插入的數(shù))、結(jié)果數(shù)據(jù)區(qū)RESULT、原始數(shù)據(jù)文件名NAME0、結(jié)果數(shù)據(jù)文件名NAME1。數(shù)據(jù)段下面是代碼段,在代碼段的開始告訴匯編程序,代碼段、數(shù)據(jù)段和堆棧段分別屬于段寄存器CS、DS、SS。接下來是對(duì)返回地址的保存和數(shù)據(jù)段寄存器的初始化,這是每一個(gè)匯編程序所必須具有的操作步驟。然后調(diào)用外部過程LOAD,從“INPUT1.DAT”中讀取數(shù)據(jù)。準(zhǔn)備工作完成以后,程序進(jìn)入主體部分。需說明的是,程序中所有分號(hào)“:”后邊的部分均為注釋說明性內(nèi)容。將原始數(shù)據(jù)的偏移地址SI賦初值為0,所以第(1)空填寫“MOVSI,0”。將結(jié)果數(shù)據(jù)的偏移地址DI也賦初值為0,CX和BX的初值都為4。由于需先將SOURCE[SI]中的內(nèi)容傳送給AH,所以第(2)空填寫“MOVAH,SOURCE[SI]”,再將AH存儲(chǔ)到RESULT[DI]中。CX減1,若CX為0,表示已經(jīng)搜索到了第四個(gè)字符,則轉(zhuǎn)向INSER1段,開始插入第一個(gè)數(shù):否則CX不為0,繼續(xù)搜索下一個(gè)字符,即無(wú)條件轉(zhuǎn)向CHAN段。第(3)空SI地址加1,繼續(xù)取下一個(gè)數(shù)據(jù)。INSER1段是將INDATA中的數(shù)據(jù)插入到RESULT[DI]中。先給AH賦值為INDATA[SI-1],再將AH存入到RESULT[DI]中,所以第(4)空填寫“AH”。INDATA[SI-1]表示每次取完INDATA中的一個(gè)數(shù)后,偏移地址SI減1,取下一個(gè)數(shù)(INDATA中一共四個(gè)數(shù))。插入一個(gè)數(shù)后,BX減1,若BX減為0,表示四個(gè)數(shù)全部都已經(jīng)插入到數(shù)組的四個(gè)位置中,則轉(zhuǎn)向EXIT段,所以第(5)空填寫“EXIT”。另外,在INSER1程序段中,先執(zhí)行指令“PUSHSI”,然后給SI賦值,有壓入就必有彈出,所以第(6)空填寫“POPSI”,與前面的“PUSHSI”指令相對(duì)應(yīng)。當(dāng)插入操作未完時(shí),繼續(xù)搜索下一組四個(gè)數(shù),然后再插入新的數(shù),無(wú)條件轉(zhuǎn)向CHAN段,所以第(7)空填寫“CHAN”。PC技術(shù)機(jī)試模擬試卷第9套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請(qǐng)編制程序,其功能是:內(nèi)存中連續(xù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑樓體防護(hù)網(wǎng)安裝工程技術(shù)考核試卷
- 2023-2024學(xué)年廣東省名校聯(lián)盟高一下學(xué)期期中質(zhì)量檢測(cè)語(yǔ)文試題(解析版)
- 探索光的奧秘
- 江蘇名校2024-2025學(xué)年高考化學(xué)試題模擬題及解析(全國(guó)Ⅰ卷)含解析
- 天津機(jī)電職業(yè)技術(shù)學(xué)院《材料成型原理與工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州大學(xué)應(yīng)用技術(shù)學(xué)院《生物反應(yīng)工程實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省成都市龍泉驛區(qū)達(dá)標(biāo)名校2025屆初三第6次月考數(shù)學(xué)試題含解析
- 遼寧工業(yè)大學(xué)《藏族文化概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川鐵道職業(yè)學(xué)院《跨文化交際(日)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年小學(xué)數(shù)學(xué)期末考試試卷及答案
- GA/T 751-2024公安視頻圖像屏幕顯示信息疊加規(guī)范
- 2025至2030中國(guó)長(zhǎng)鏈氯化石蠟行業(yè)供需現(xiàn)狀與前景策略研究報(bào)告
- 租地蓋大棚合同協(xié)議
- 自體輸血知識(shí)培訓(xùn)課件
- 人教A版高一下冊(cè)必修第二冊(cè)高中數(shù)學(xué)8.6.2直線與平面垂直【課件】
- 小學(xué)生涯課件
- 西藏拉薩中學(xué)2024-2025學(xué)年高三第二學(xué)期英語(yǔ)試題4月月考試卷含解析
- GB/T 45421-2025城市公共設(shè)施非物流用智能儲(chǔ)物柜服務(wù)規(guī)范
- 檔案相關(guān)法律法規(guī)知識(shí)復(fù)習(xí)試題及答案
- 商鋪裝修管理規(guī)定
- 鐵路心理測(cè)試題及答案
評(píng)論
0/150
提交評(píng)論