PC技術機試模擬試卷10(共7題)_第1頁
PC技術機試模擬試卷10(共7題)_第2頁
PC技術機試模擬試卷10(共7題)_第3頁
PC技術機試模擬試卷10(共7題)_第4頁
PC技術機試模擬試卷10(共7題)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PC技術機試模擬試卷10(共7套)(共7題)PC技術機試模擬試卷第1套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編制程序,其功能是:求I×J矩陣的轉置矩陣(矩陣中元素為字節(jié)型),并計算轉置矩陣的每一行元素之和,然后存放在每一行最后一個字單元中。例如:內存中有:04H,05H,06H,(第一行)01H,02H,03H(第二行)結果為:04H,01H,05H,00H,05H,02H,07H,00H,06H,03H,09H,00H部分程序已給出,其中原始數(shù)據由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內存單元中。運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。請?zhí)羁誃EGIN和END之間已經給出的一段源程序使其完整,需填空處已經用橫線標出,每個空白一般只需要填一條指令或指令的一部分(指令助記符或操作數(shù)),也可以填入功能相當?shù)亩鄺l指令,或刪去BEGIN和END之間原有的代碼并自行編程來完成所要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生可執(zhí)行文件,最終運行程序產生結果。調試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。[試題程序]EXTRNLOAD:FAR,SAVE:FARNEQU30IEQU3JEQU10DSEGSEGMENTSOURCEDBNDUP(?)SRCDWSOURCERESULTDB(N+2*J)DUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB256DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,SS:SSEG,DS:DSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXMOVES,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD********BEGIN********LEASI,SOURCELEADI,RESULTMOVBX,1;第一列LPJ:MOVCX,0;累加和MOVDX,1;第一行LPI:MOVAL,[SI]ADDCL,AL(1)STOSBADDSI,10INCDX(2)JBELPIMOV[DI],CX(3)INCSRC;下一列MOVSI,SRC(4)CMPBX,JJBE(5)********END********LEADX,RESULTLEASI,NAME1MOVCX,(N+2*J)CALLSAVERETSTARTENDPCSEGENDSENDSTART標準答案:(1)ADCCH,0(2)CMPDX,I(3)ADDDI,2(4)INCBX(5)LPJ知識點解析:暫無解析PC技術機試模擬試卷第2套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編制程序PROG1.ASM,其功能是:將內存中的20個有符號字節(jié)數(shù)據依次除以5,并按照四舍五入原則(即余數(shù)絕對值的2倍小于除數(shù),則舍去)將商存入指定的內存區(qū)域。例如:內存中有:10H,01H,27H,00H,FFH,FSH,……結果為:03H,00H,08H,00H,00H,FEH,……部分程序已給出,其中原始數(shù)據由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內存單元中,運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之間已給出的源程序使其完整(空白已用橫線標出,每行空白一般只需一條指令,但采用功能相當?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生PROG1.EXE執(zhí)行文件,最終運行程序產生結果(無結果或結果不正確者均不得分)。調試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU20XEQU5DSEGSEGMENTSOURCEDBNDUP(?)RESULTDBNDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB256DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEC,SS:SSEC,DS:DSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXMOVES,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD;***BEGIN***LEASI,SOURCELEADI,RESULTCONT:LODSBCBWMOVDL,XIDIVDL(1);余數(shù)為負數(shù)嗎JNSPLUS(2);求絕對值ADDAH,AHCMPAH,DLJB(3)SUBAL,1JMPNEXTPLUS:ADD(4)CMPAH,DLJBNEXT(5)NEXT:STOSBCMPSI,NJBCONT;***END***LEADX,RESULTLEASI,NAME1MOVCX,NCALLSAVERETSTARTENDPCSEGENDSENDSTART標準答案:(1)CMPAH,0(2)NEGAH(3)NEXT(4)AH,AH(5)ADDAL,1知識點解析:每個數(shù)除以5之后首先判斷余數(shù)是否為負,即比較AH與零;如果為負,要將AH中的值用NEG指令取絕對值后再執(zhí)行后續(xù)操作,即計算余數(shù)絕對值的兩倍,若小于商直接舍去(四舍),跳至NEXT(第3空)執(zhí)行存儲操作,否則加一(第五空,五入)后存儲。PC技術機試模擬試卷第3套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編制程序PROG1.ASM,其功能是:以SOURCE開始的內存區(qū)域存放著紅外數(shù)據通信系統(tǒng)傳輸?shù)臄?shù)據信息,其編碼形式為:AACCXYXYDDEE,表示傳送的數(shù)據為壓縮BCD碼XY。如AACCl212DDEE表示數(shù)據12?,F(xiàn)要求編程實現(xiàn)解碼,如果壓縮BCD碼不是以AACC開始或者不是以DDEE結束或中間兩個BCD碼不同,則此數(shù)據不解碼。解碼后的BCD碼存入RESULT開始的內存區(qū)域。例如:原信息為:AAH,CCH,05H,05H,DDH,EEH,AAH,C8H,43H,43H,DDH,0EH,AAH,CCH,87H,87H,DDH,EEH,......結果為:05H,87H,……部分程序已給出,其中原始數(shù)據由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內存單元中。運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之間已給出的源程序使其完整(空白已用橫線標出,每行空白一般只需一條指令,但采用功能相當?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生PROG1.EXE執(zhí)行文件,最終運行程序產生結果(無結果或結果不正確者均不得分)。調試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU10STACSEGMENTSTACKDB128DUP(?)STACENDSDATASEGMENTSOURCEDB6*NDUP(0)RESULTDBNDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVES,AX;置附加段寄存器LEADX,SOURCE;數(shù)據區(qū)起始地址LEASI,NAME0;原始數(shù)據文件名MOVCX,6*N;字節(jié)數(shù)CALLLOAD;從INPUT1.DAT中讀取數(shù)據;****BEGIN****LEASI,SOURCEMOVDI,OFFSETRESULTMOVCX,(1)LPST:MOVDL,6MCLP1:MOVAL,(2)MOVBX,SICMPAL,0AAHJNZNEXTDINCSIMOVAL,[SI]CMPAL,0CCH(3)INCSIMOVAL,[SI]MOVDH,ALINCSIMOVAL,[SI](4)JNZNEXTDINCSIMOVAL,[SI]CMPAL,0DDHJNZNEXTDINCSIMOVAL,[SI]CMPAL,0EEHJNZNEXTDINCSIMOV[DI],DHINCDINEXTD:(5)MOVSI,BX(6);****END****LEADX,RESULT;結果數(shù)據區(qū)首址LEASI,NAME1;結果文件名起始地址MOVCX,N;字節(jié)數(shù)CALLSAVE;保存結果到OUTPUT1.DAT文件中RETSTARTENDPCODEENDSENDSTART標準答案:(1)6*N(2)[SI](3)JNZNEXTD(4)CMPDH,AL(5)INCBX(6)LOOPMCLP1知識點解析:依次讀入某組數(shù)據的元素,并按題目要求與指定數(shù)比較,若不相等,則準備讀入下一組數(shù)據;若相等,則繼續(xù)讀入數(shù)據并比較,一直到讀完該數(shù)組數(shù)據,并保存到目的區(qū)。PC技術機試模擬試卷第4套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編制程序PROG1.ASM,其功能是:以SOURCE開始的內存區(qū)域存放著多個字節(jié)的數(shù)據,其中有壓縮BCD碼和其他數(shù)據?,F(xiàn)按下列編碼規(guī)則進行編碼:在每個壓縮BCD碼前面加兩個字節(jié)前綴代碼BEH和CCH,并在其后加兩個字節(jié)后綴代碼DDH和EDH;如果不是壓縮BCD碼,則該數(shù)據前后均加兩個代碼0DH和0EH。編碼后的數(shù)據存放到RESULT指示的內存區(qū)域。例如:原信息為:12H,D9H,86H,54H,……結果為:BEH,CCH,12H,DDH,EDH,0DH,0EH,D9H,0DH,0EH,BEH,CCH,86H,DDH,EDH,BEH,CCH,86H,DDH,EDH,……部分程序已給出,其中原始數(shù)據由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內存單元中。運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之間已給出的源程序使其完整(空白已用橫線標出,每行空白一般只需一條指令,但采用功能相當?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生PROG1.EXE執(zhí)行文件,最終運行程序產生結果(無結果或結果不正確者均不得分)。調試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU10STACSEGMENTSTACKDB128DUP(?)STACENDSDATASEGMENTSOURCEDBNDUP(0)RESULTDB5*NDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVES,AX;置附加段寄存器LEADX,SOURCE;數(shù)據區(qū)起始地址LEASI,NAME0;原始數(shù)據文件名MOVCX,N;字節(jié)數(shù)CALLLOAD;從INPUT1.DAT中讀取數(shù)據;****BEGIN****LEASI,SOURCEMOVDI,OFFSETRESULTMOVCX,NCLP1:MOVAL,[SI]MOVBL,ALMOVAH,AL(1)ANDAL,0FOH(2)MOVCL,4(3)POPCXCMP(4)JACLP2CMPAH,9JACLP2MOV(5)INCDIMOVBYTEPTR[DI],0CCHINCDIMOVBYTEPTR[DI],BLINCDIMOVBYTEPTR[DI],0DDHINCDIMOVBYTEPTR[DI],0EDHJMPCLP3CLP2:MOVBYTEPTR[DI],0DHINCDIMOVBYTEPTR[DI],0EHINCDIMOVBYTEPTR[DI],BLINCDIMOVBYTEPTR[DI],0DHINCDIMOVBYTEPTR[DI],0EHCLP3:INCSIINCDI(6);****END****LEADX,RESULT;結果數(shù)據區(qū)首址LEASI,NAME1;結果文件名起始地址MOVCX,5*N;字節(jié)數(shù)CALLSAVE;保存結果到OUTPUT1.DATRETSTARTENDPCODEENDSENDSTART標準答案:(1)ANDAH,OFH(2)PUSHCX(3)RORAL,CL(4)AL,9(5)BYTEPTR[DI],0BEH(6)LOOPCLP1知識點解析:識別是否為壓縮BCD碼,若是,則利用堆棧的性質,在前面加BEH和CCH,在其后加DDH和EDH;若不是,則該數(shù)據前后均加0DH和0EH。最后編碼后的數(shù)據存放到RESULT指示的內存區(qū)域。PC技術機試模擬試卷第5套一、程序設計題(本題共1題,每題1.0分,共1分。)1、編制一個程序,其實現(xiàn)的功能為:將內存中從SOURCE開始的區(qū)域里存放的20個字節(jié)的壓縮BCD碼轉換為ASCⅡ碼,每個壓縮的BCD碼轉換為兩個ASCⅡ碼,并在最高位加上奇校驗位,結果存放到RESULT開始的內存區(qū)域。例如:內存中有:73H,45H……則結果為:37H,B3H,34H,B5H……部分程序已經給出,其中原始數(shù)據由過程LOAD從文件INPUT.DAT中讀入以SOURCE開始的內存單元中。運算結果要求從RESULT開始的內存單元存放,由過程SAVE保存到文件OUTPUT.DAT中。請?zhí)羁誃EGIN和END之間已給出的源程序使其完整,空白已經用橫線標出,每行空白一般只需要一條指令,但采用功能相當?shù)亩鄺l指令也行,考生也可以刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生可執(zhí)行文件,最終運行程序產生結果。調試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。【試題程序】EXTRNLOAD:FAR,SAVE:FARNEQU20DSEGSEGMENTSOURCEDBNDUP(?)RESULTDBN*2DUP(0)NAME0DB’INPUT.DAT’,0NAME1DB’OUTPUT.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB256DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXLEADX,SOURCELEASI,NAME0MOVCX,NCALLLOAD;********BEGIN********LEASI,SOURCELEADI,RESULTMOVCX,NAGAIN:MOVAL,[SI]MOVAH,AL(1)ANDAH,0FOH(2)MOVCL,4(3)POPCXADDAL,30H(4)NEXTORAL,80HNEXT:MOV[DI],ALINCDIADDAH,30H(5)NEXT1ORAH,80HNEXT1:MOV[DI],AHINCDIINCSILOOPAGAIN;********END********LEADX,RESULTLEASI,NAME1MOVCX,N*2CALLSAVERETSTARTENDPCSEGENDSENDSTART標準答案:(1)ANDAL,0FH(2)PUSHCX(3)SHRAH,CL(4)JNP(5)JNP知識點解析:題目要求將壓縮的BCD碼轉換為兩個ASCⅡ碼,則首先要將BCD碼分離出來,轉換為非壓縮的BCD碼,然后轉換為ASCⅡ碼。最高位要求加奇校驗位,所以要對轉換以后的數(shù)據進行判斷,如果數(shù)據中1的個數(shù)為奇數(shù)的話,則直接將其存儲到結果存儲區(qū),否則要將數(shù)據的最高位變?yōu)?。程序中,已經將數(shù)據的高4位分離到AH寄存器中,所以還需要將低4位的數(shù)據分離到一個寄存器中,有后面的程序可以看出應該分離到AL寄存器中,所以第一個空白處應填寫ANDAL,0FH。高4位數(shù)據分離到AH寄存器以后,需要將數(shù)據從高4位移到低4位來,變成非組合的BCD碼。由于移動的位數(shù)為4,所以需要使用CL寄存器,而CX寄存器被用來作為程序循環(huán)次數(shù)的控制器,所以需要在使用CL寄存器之前對CX進行入棧和出棧操作,即第二個空白處應填PUSHCX。第三個空白處執(zhí)行的是右移操作,所以應填為SHRAH,CL。執(zhí)行完數(shù)據分離以后,將非組合的BCD碼轉換為ASCⅡ碼,轉換的時候只需要將非組合的BCD碼與30H執(zhí)行與操作即可。轉換完成后,要在量高位加奇校驗位,即要對轉換后數(shù)據中1的個數(shù)進行判斷,所以最后兩個空應填JNP,表示當數(shù)據中1的個數(shù)為奇數(shù)時跳轉到數(shù)據存儲的程序段執(zhí)行,否則將數(shù)據的最高位變?yōu)?,然后再進行存儲。PC技術機試模擬試卷第6套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編制程序PROG1.ASM,其功能是;從SOURCE開始存放的21個8位有符號數(shù)(補碼),相鄰數(shù)的差距不超過-8~7,可采用差分壓縮,其方法如下:第一個數(shù)據不變,其后數(shù)據取與前一數(shù)據之差值并用4位二進制補碼表示,兩個差值拼成一個字節(jié),前一個差值放在高4位,后一個差值放在低4位。例如:原數(shù)據為:X[n]:23H,27H,2AH,29H,22H...壓縮后為:Y[n]:23H,43H,F9H...部分程序已給出,其中原始數(shù)據由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內存單元中。運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之間已給出的一段源程序使其完整(空白己用橫線標出,每行空白一般只需一條指令,但采用功能相當?shù)亩鄺l指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生PROG1.EXE執(zhí)行文件,最終運行程序產生結果(無結果或結果不正確者均不得分)。調試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。試題程序:EXTRNLOAD:FAR,SAVE:FARNEQU20DSEGSEGMENTLDW?SOURCEDWNDUP(?)RESULTDWNDUP(0)NAME0DB’INPUT1.DAT’,0NAME1DB’OUTPUT1.DAT’,0DSEGENDSSSEGSEGMENTSTACKDB128DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEGMOVDS,AXLEADX,L;數(shù)據區(qū)起始地址LEASI,NAME0;輸入文件名首址送SIMOVCX,2+N;輸入字節(jié)數(shù)送CXCALLLOAD;從INPUT1.DAT中讀取數(shù)據;****BEGIN****LEASI,SOURCELEADI,RESULTCLDMOVSB;Y[0]=X[0]XORBX,BX;FLAG=0MOVDX,N*2;計數(shù)ZTE:LODSBSUB(1);X[n]-X[n-1](2);FLAG=NOTFLAGJ(3)SWIMMOV4,CLMOVAH,ALJMPNEXTSWIM:(4)ORAL,AHSTOSBNEXT:(5)JNEZTE;****END****LEADX,RESULT;結果數(shù)據區(qū)首址送DXLEASI,NAME1;結果文件名首址送SIMOVCX,N;結果字節(jié)數(shù)送CXCALLSAVE;保存結果到文件OUTPUT1.DATRETSTARTENDPCSEGENDSENDSTART標準答案:(1)AL,[SI-2](2)XORBX,01H(3)Z(4)ANDAL,0FH(5)DECDX知識點解析:程序功能:為了進行壓縮存儲,把兩個差值拼成一個字符,可采用標志(FLAG),當標志為0時,表示低4位:當標志為非0時,表示高4位。標志0與非0之間的轉換不能用NOT指令來實現(xiàn)判斷,因為這條指令完全不影響CPU標志寄存器的各個狀態(tài)位。為了實現(xiàn)標志0與非0之間的轉換,可以使用XORBX,01H。此外,在使用串操作指令時,應該注意其地址指針自動加1。PC技術機試模擬試卷第7套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編制程序,其功能是:內存中存放著由20個16位有符號整數(shù)組成的序列,求出該序列中的最小值和最大值。結果存放形式為,先按原順序存放20個需處理的有符號整數(shù),后跟該序列中的最小值和最大值(最小值在前,最大值在后)。例如:內存中有:8100H,0002H,0300H…結果為:8100H,0002H,0300H…(由20個16位有符號整數(shù)組成的原序列),結果的后面跟該序列中的最小值和最大值(最小值在前,最大值在后)。部分程序已給出,其中原始數(shù)據由過程LOAD從文件INPUT.DAT中讀入SOURCE開始的內存單元中,運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT.DAT中。請?zhí)羁誃EGIN和END之間已給出的源程序使其完整,空白已用橫線標出,每個空白一般只需一條指令,但采用功能相當?shù)亩鄺l指令亦可,或刪除BEGIN和END之間原有的代碼并自行編程來完成所要求的功能。對程序必須進行匯編,并與IO.OBJ鏈接產生可執(zhí)行文件,最終運行程序產生結

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論