CPU與匯編上機(jī)測(cè)驗(yàn)題目及代碼_第1頁(yè)
CPU與匯編上機(jī)測(cè)驗(yàn)題目及代碼_第2頁(yè)
CPU與匯編上機(jī)測(cè)驗(yàn)題目及代碼_第3頁(yè)
CPU與匯編上機(jī)測(cè)驗(yàn)題目及代碼_第4頁(yè)
CPU與匯編上機(jī)測(cè)驗(yàn)題目及代碼_第5頁(yè)
已閱讀5頁(yè),還剩125頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、CPU與匯編上機(jī)測(cè)驗(yàn)題目及代碼作者:日期:45目錄1、請(qǐng)任意輸入一個(gè)字符串,將該串倒序后在屏幕上顯示。2、請(qǐng)任意輸入一個(gè)字符串,統(tǒng)計(jì)其中空格和3、請(qǐng)任意輸入一個(gè)字符串,將其中的空格全部刪除,并將結(jié)果顯示在屏幕上。4、 請(qǐng)任意輸入一個(gè)字符串,將其中 A換成CC,并將結(jié)果顯示在屏幕上。.5、請(qǐng)任意輸入一個(gè)字符串,將其中大寫(xiě)字母換成小寫(xiě)字母,并將結(jié)果顯示在屏幕上。A的個(gè)數(shù),并將結(jié)果顯示在屏幕上。.106、 請(qǐng)任意輸入一個(gè)字符串,將其中的英文字母全部刪除,并將結(jié)果顯示在屏幕上。 .127、 現(xiàn)有一組字符串為data,name,time,file,code,path,user,exit,quit,tex

2、t,請(qǐng)編寫(xiě)程序從鍵盤(pán)輸入4個(gè)字符的字符串,若存在將其修改為disk,并將結(jié)果在顯示器上顯示。 138、 現(xiàn)有一組字符串為ram,yes,red,the,get,for,and,key,not,may,請(qǐng)編寫(xiě)程序?qū)⑺麄儼碅SCII 大小排序,并在顯示器上顯示。 169、 現(xiàn)有一組字符串為data,name,time,file,code,path,user,exit,quit,text,請(qǐng)編寫(xiě)程序從鍵盤(pán)輸入4個(gè)字符的字符串,若存在將其刪除,并在顯示器上顯示。1810、 現(xiàn)有一組字符串為data,name,time,file,code,path,user,exit,quit,text,請(qǐng)編寫(xiě)程序?qū)⑸?/p>

3、述字符串排序(升序)并插入disk使其人仍然有序,并在顯示器上顯示。 2011、 鍵盤(pán)輸入一個(gè)十進(jìn)制數(shù)(字類(lèi)型),以十六進(jìn)制的形式輸岀。12、 鍵盤(pán)輸入一個(gè)十進(jìn)制數(shù)(字類(lèi)型),以二進(jìn)制的形式輸岀。13、 鍵盤(pán)輸入一個(gè)二講制數(shù)(字類(lèi)型),以十六講制的形式輸出。14、 鍵盤(pán)輸入一個(gè)二進(jìn)制數(shù)(字類(lèi)型),以十進(jìn)制的形式輸出。15、 鍵盤(pán)輸入一個(gè)十六進(jìn)制數(shù)(字類(lèi)型),以十進(jìn)制的形式輸出。242627293116、 鍵盤(pán)輸入一個(gè)十六進(jìn)制數(shù)(字類(lèi)型),以二講制的形式輸出。 3317、 將一組有符號(hào)數(shù)中的負(fù)數(shù)求和,并統(tǒng)計(jì)負(fù)數(shù)的個(gè)數(shù),并在屏幕上以十進(jìn)制的形式顯示結(jié)果。3518、 鍵盤(pán)輸入十個(gè)數(shù),分別統(tǒng)計(jì)0至9,

4、10至99,100以上的數(shù)的個(gè)數(shù),并顯示結(jié)果。 .3719、 鍵盤(pán)輸入兩組數(shù) 743216、527864,按BCD碼求和,并將結(jié)果顯示在屏幕上。 3820、 鍵盤(pán)輸入下列兩組十進(jìn)制數(shù),求其和,并將結(jié)果顯示在屏幕上4021、 鍵盤(pán)輸入一串二講制數(shù)1ah,7ch,0bah,3ah,45h,63h求其和,并將結(jié)果顯示在屏幕上。22、從鍵盤(pán)輸入一串可顯示字符(以回車(chē)符結(jié)束) 顯示出這三類(lèi)統(tǒng)計(jì)的結(jié)果。 42,并按字母、數(shù)字、空格分類(lèi)計(jì)數(shù),然后444649最小值、平均值。5226、在 BUFFER中定義了的十個(gè)帶符號(hào)字,將其中的負(fù)數(shù)變成絕對(duì)值,并以十進(jìn)制方式輸出。5827、 已知數(shù)組 A 包含20個(gè)互不相

5、等的字型整數(shù),數(shù)組B包含30個(gè)互不相等的字型整數(shù),試編制一程序把在 A中而不在 B中出現(xiàn)的整數(shù)放于數(shù)組 C中。6028、 已知數(shù)組 A 包含 20個(gè)互不相等的字型整數(shù):數(shù)組B包含 30個(gè)互不相等的字型整數(shù):試編制一程序把既在 A中又在 B中出現(xiàn)的數(shù)存放于數(shù)組 C中。6429、設(shè)有4個(gè)學(xué)生參加5門(mén)考試;請(qǐng)計(jì)算每個(gè)學(xué)生的平均成績(jī)和每門(mén)課的平均分成績(jī);顯示器上顯示,輸出格式如下: C中。并在.6923、編寫(xiě)程序,將十個(gè)字的有符號(hào)數(shù)中最大、最小值求出,并在顯示器上輸出。24、 鍵盤(pán)輸入10個(gè)字節(jié)數(shù)(無(wú)符號(hào)數(shù)),求出最大、最小值,并在顯示器上輸出。25、一個(gè)有符號(hào)字?jǐn)?shù)組以 0為結(jié)束標(biāo)志,編程求這個(gè)數(shù)組的

6、最大值、6969Chg1 chg2 chg3 chg4 chg5 meamS17885551009769696969693種方法編寫(xiě)完整Aver不計(jì)小數(shù)。30、 編程計(jì)算從 2開(kāi)始的N(N<50)個(gè)偶數(shù)之和(2+ 4 + 6+),主程序從鍵盤(pán)輸入整數(shù) 調(diào)用子程序求出 N個(gè)偶數(shù)之和,由主程序顯示結(jié)果。嘗試分別使用以下 程序。(1)利用寄存器傳遞參數(shù) (2 )利用公共數(shù)據(jù)段變量傳遞參數(shù) (3)利用堆棧傳遞參數(shù) 31、多模塊程序設(shè)計(jì) (1)設(shè)計(jì)一個(gè)包括:鍵盤(pán)輸入、顯示、排序、轉(zhuǎn)換、退出程序的主菜單。輸入10個(gè)字型帶符號(hào)數(shù)。(3) 把10個(gè)帶符號(hào)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)。S26796437984S

7、39255769265S443958289757171717174(2) 從鍵盤(pán)(4)把 10 個(gè)二進(jìn)制數(shù)按從小到大順序排列。(5)把10個(gè)帶符號(hào)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。(6)把最大數(shù)用十進(jìn)制數(shù)的形式顯示在屏幕上要求:(1)整個(gè)程序用四個(gè)模塊組成: 主菜單,排序子模塊,轉(zhuǎn)換子模塊,其它。(2)鍵盤(pán)輸入與顯示功能分別用宏指令實(shí)現(xiàn)。(3)排序及轉(zhuǎn)換功能分別用子程序?qū)崿F(xiàn)。 7432、將兩個(gè)磁盤(pán)文件合并成一個(gè)新的文件。 7433、 將一磁盤(pán)文件1.TXT '讀入內(nèi)存 2000: 0000h中,并將文件以反序形式(頭尾對(duì)應(yīng)字符互換) 仍以相同路徑存入磁盤(pán)中。 7634、 在多模塊設(shè)計(jì)中,主模塊中

8、調(diào)用內(nèi)部模塊BUF1,BUF2,BUF3,BUF4。主模塊根據(jù)鍵盤(pán)輸入的指令(如:A,B,C,D )調(diào)用上述對(duì)應(yīng)的子程序,每個(gè)子程序的任務(wù)是顯示其入口地址。調(diào)用后繼續(xù)等待調(diào)用,若輸入ESC鍵(ASCII碼為1BH )則結(jié)束程序的執(zhí)行。請(qǐng)編寫(xiě)完成該任務(wù)的程序。 7735、現(xiàn)有一控制程序共 5個(gè)工序,要求輸入 0-4的序號(hào),分別執(zhí)行各工序的子程序,每個(gè)子程序的任務(wù)是顯示其入口地址。調(diào)用后繼續(xù)等待調(diào)用,按回車(chē)則結(jié)束程序的執(zhí)行。 7936、 從鍵盤(pán)輸入一個(gè)兩位十進(jìn)制數(shù)的月份,然后顯示出相應(yīng)的英文名,要求顯示月份的功能用子程序?qū)崿F(xiàn)。8237、 現(xiàn)有一組參量按 16位編碼,各字段的長(zhǎng)度如下: BIT1=6

9、,BIT2=4,BIT3=3,BIT4=3, BIT1位于高位,BIT4位于低位。設(shè) BIT1=52,BIT2=13, BIT3=5, BIT4=3請(qǐng)用程序編碼將這些字段編碼組合成一個(gè)字,按二進(jìn)制的形式在屏幕上輸出。851、請(qǐng)任意輸入一個(gè)字符串,將該串倒序后在屏幕上顯示。DATAS SEGMENTBUF DB 30DB ?DB 30 DUPBUF1 DB 0DH,0AH,30 DUP DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA

10、SI,BUF+2LEA DI,BUF1ADD DI,2MOV BL,BUF+1XOR BH,BHADD SI,BXMOV CL,BUF+1AGAIN:DEC SIMOV AL,SIMOV DI,ALINC DILOOP AGAINMOV BYTE P TRDI,'$'LEA DX,BUF1MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START 2、請(qǐng)任意輸入一個(gè)字符串,統(tǒng)計(jì)其中空格和A的個(gè)數(shù),并將結(jié)果顯示在屏幕上。DATA SEGMENTBUF DB OFFHDB ?DB OFFH DUP STROUT DB 0DH,0AH,

11、'A =000'DB 0DH,0AH,'S PACE=000','$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AXQATAMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF2MOV CL,BUF1XOR CH,CH AGAIN:CMP BYTE P TRSI,'A' JNE NOTACMP STROUT10,'9' JE ATENINC STROUT10 JMP NEXTATEN:CMP STROUT9,&#

12、39;9'JE AHUNMOV STROUT10,'0'INC STROUT9 JMP NEXTAHUN:MOV STROUT10,'0'MOV STROUT9,'0'INC STROUT8 JMP NEXTNOTA:CMP BYTE P TRSI,'' JNE NOTS PACECMP STROUT21,'9' JE SPACETENINC STROUT21 JMP NEXTSP ACETEN:CMP STROUT20,9JE SPACEHUNMOV STROUT21,'0'INC STR

13、OUT20 JMP NEXTSP ACEHUN:MOV STROUT21,'0'MOV STROUT20,'0'INC STROUT19NOTS PACE:NEXT:INC SILOOP AGAINLEA DX,STROUTMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START 3、請(qǐng)任意輸入一個(gè)字符串,將其中的空格全部刪除,并將結(jié)果顯示在屏幕上。DATAS SEGMENTBUF DB 50DB ?DB 50 DUPP OSITION DB 1NEWLINE DB 0AH,0DH,'$' DATA

14、S ENDSSTACKS SEGMENTSAVE DW 100 DUPSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF+2MOV CL,BUF+1XOR CH,CHNEXT:MOV AL,SICMP AL,''JE DELATEINC P OSITIONINC SIDEC CXCMP CX,0JNE NEXTJMP OUT PUTDELATE:P USH SIP USH CXP USH AXMOV AX,

15、SIINC AXMOV DI,AXMOV AL ,P OSITIONMOV CL,BUF+1SUB CL,ALXOR CH,CHAGAIN:MOV AL,DIMOV SI,ALINC SIINC DILOOP AGAINPOP AXPOP CXPOP SIDEC CXJMP NEXTOUTP UT:MOV AL,'$'MOV SI,ALLEA DX,NEWLINEMOV AH,09HINT 21HLEA DX,BUF+2MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START 4、請(qǐng)任意輸入一個(gè)字符串,將其中 A換成CC,并將結(jié)

16、果顯示在屏幕上。DATAS SEGMENTBUF DB 50DB ?DB 50 DUPDATAS ENDSSTACKS SEGMENTSAVE DB 100 DUPSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF+2MOV CL,BUF+1XOR CH,CHNEXT:MOV AL,SICMP AL,'A'JE MOVEINC SIDEC CX

17、CMP CX,0JNE NEXTJMP OUT PUTMOVE:P USH SIP USH CXMOV BX,SILEA SI,BUF+2MOV AL,BUF+1XOR AH,AHADD SI,AXMOV AX,SIINC AXMOV DI,AXDEC AXSUB AX,BXMOV CX,AXAGAIN:MOV AL,SIMOV DI,ALDEC SIDEC DILOOP AGAINPOP CXPOP SIJMP TIHUAN TIHUAN:MOV AL,CMOV SI,ALMOV SI+1,ALINC BUF+1INC SIINC SIDEC CXCMP CX,0JNE NEXTJMP OU

18、T PUTOUTP UT:MOV AL,'$'MOV SI,ALMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HLEA DX,BUF+2MOV AH,09HINT 21HMOV AH,4CHINT 21H CODES ENDSEND START 5、請(qǐng)任意輸入一個(gè)字符串,將其中大寫(xiě)字母換成小寫(xiě)字母,并將結(jié)果顯示在屏 幕上。DATAS SEGMENTBUF DB 30 DB ?DB 30 DUPDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DAT

19、ASMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF+2MOV CL,BUF+1NEXT:MOV AL,SICMP AL,'A'JB CONTINUECMP AL,'Z'JBE TIHUANJMP CONTINUETIHUAN:ADD AL,20HMOV SI,ALCONTINUE:INC SIDEC CXCMP CX,0JZ OUTPUTJMP NEXTOUTP UT:MOV AL,'$'MOV SI,ALMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HI

20、NT 21HLEA DX,BUF+2MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START6請(qǐng)任意輸入一個(gè)字符串,將其中的英文字母全部刪除,并將結(jié)果顯示在屏幕 上。DATAS SEGMENTBUF DB 50 DB ?DB 50 DUPDATAS ENDSSTACKS SEGMENTSAVE DB 100 DUPSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA DX,BU

21、FMOV AH,0AHINT 21HLEA SI,BUF+2MOV CL,BUF+1XOR CH,CHNEXT:MOV AL,SICMP AL,'A'JB NEXT1CMP AL,'Z'JBE DELATECMP AL,'a'JB NEXT1CMP AL,'z'JBE DELATENEXT1:DEC CXINC SICMP CX,0JZ OUTPUTJMP NEXTDELATE:P USH SIP USH CXCMP CX,1JE OUTPUTMOV AX,SIINC AXMOV DI,AXAGAIN:MOV AL,DIMOV S

22、I,ALINC SIINC DILOOP AGAINPOP CXPOP SIDEC BUF+1DEC CXJMP NEXTOUTP UT:MOV AL,'$'MOV SI,ALMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HLEA DX,BUF+2MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START 7、現(xiàn)有一組字符串為data,name,time,請(qǐng)編寫(xiě)程序從鍵盤(pán)輸入 4個(gè)字符的字符 串,若存在將其修改為disk,并將結(jié)果在顯示器上顯示。DATAS SEGMENT

23、STRING0 DB 'data',0AH,0DHSTRING1 DB 'n ame',0AH,0DHSTRING2 DB 'time',0AH,0DHSTRING3 DB 'STRING4 DB 'code',0AH,0DHSTRING5 DB 'p ath',0AH,0DHSTRING6 DB 'user',0AH,0DHSTRING7 DB 'exit',0AH,0DHSTRING8 DB 'quit',0AH,0DHSTRING9 DB 'te

24、xt','$'BUF DB 5DB ?DB 5 DUPDATAS ENDSEXTRA SEGMENTSTRING DB 7 DUPEXTRA ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,ES:EXTRA START:MOV AX,DATASMOV DS,AXMOV AX,EXTRAMOV ES,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF+2LEA DI,STRINGMOV CX,4REP MOVSBLEA SI,STRING0LEA DI,STRINGCLDMOV CX,4REPE CMPSBC

25、MP CX,0JE TIHUANLEA SI,STRING1LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING2LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING3LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING4LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING5LEA DI,STR

26、INGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING6LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING7LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING8LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUANLEA SI,STRING9LEA DI,STRINGCLDMOV CX,4REPE CMPSBCMP CX,0JE TIHUA

27、NJMP SHUCHUTIHUAN:SUB SI,4MOV AL,'d'MOV SI,ALMOV AL,'i'MOV SI+1,ALMOV AL,'s'MOV SI+2,ALMOV AL,'k'MOV SI+3,ALSHUCHU:LEA DX,STRING0MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START 8、現(xiàn)有一組字符串為ram,yes,red,the,get,for,and,key,not,may請(qǐng)編寫(xiě)程序?qū)⑺麄?按ASCII大小排序,并在顯示器上顯示。DATAS S

28、EGMENTSTRO DB 'ram',OAH,ODHSTR1 DB 'yes',0AH,0DHSTR2 DB 'red',0AH,0DHSTR3 DB 'the',0AH,0DHSTR4 DB 'get',0AH,0DHSTR5 DB 'for',0AH,0DHSTR6 DB 'an d',0AH,0DHSTR7 DB 'key',0AH,0DHSTR8 DB 'no t',0AH,0DHSTR9 DB 'may$'DATAS END

29、SSTACKS SEGMENTSAVE DB 100 DUPSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA SI,STR0LEA DI,STR1MOV CX,9AGAIN1:P USH CXP USH SIP USH DIAGAIN:MOV AL,SIMOV BL,DICMP AL,BLJA CHANGEJE EQUEL1NEXT:ADD SI,5ADD DI,5LOOP AGAINPOP DIPOP SIPOP CXLO

30、OP AGAIN1JMP OUT PUTEQUEL1:MOV AL,SI+1MOV BL,DI+1CMP AL,BLJA CHANGEJE EQUEL2JMP NEXTEQUEL2:MOV AL,SI+2MOV BL,DI+2CMP AL,BLJA CHANGEJE NEXT CHANGE:MOV AL,SIMOV BL,DIMOV SI,BLMOV DI,ALMOV AL,SI+1MOV BL,DI+1MOV SI+1,BLMOV DI+1,ALMOV AL,SI+2MOV BL,DI+2MOV SI+2,BLMOV DI+2,ALJMP NEXT OUTP UT:LEA DX,STR0MO

31、V AH,09HINT 21HMOV AH,4CHINT 21H CODES ENDSEND START 9、現(xiàn)有一組字符串為data,name,time,請(qǐng)編寫(xiě)程序從鍵盤(pán)輸入 4個(gè)字符的字符 串,若存在將其刪除,并在顯示器上顯示。DATAS SEGMENTSTR0 DB 'data',0AH,0DH STR1 DB 'n ame',0AH,0DH STR2 DB 'time',0AH,0DH STR3 DB 'STR4 DB 'code',0AH,0DHSTR5 DB 'p ath',0AH,0DHSTR

32、6 DB 'user',0AH,0DHSTR7 DB 'exit',0AH,0DHSTR8 DB 'quit',0AH,0DHSTR9 DB 'text',0AH,0DH,'$' LEAGTH EQU $-STR0 BUF DB 5DB ?DB 5 DUPDATAS ENDSEXTRA SEGMENTCOPY DB 5 DUPEXTRA ENDSSTACKS SEGMENTSAVE DB 100 DUPSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACK

33、S,ES:EXTRASTART:MOV AX,DATASMOV DS,AXMOV AX,EXTRAMOV ES,AXMOV AX,STACKSMOV SS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF+2LEA DI,C OPYMOV CL,BUF+1XOR CH,CHCLDREP MOVSBLEA SI,STR0LEA DI,C OPYMOV CX,0AHNEXT:P USH CXCMP CX,1JZ TEXTMOV CL,BUF+1XOR CH,CHCLDREPE CMPSBCMP CX,0JZ DELATEADD SI,5DEC DIPOP CXDEC

34、CXCMP CX,0JNE NEXTJMP OUT PUTDELATE:MOV CL,LEAGTHXOR CH,CHADD Sl,2SUB CX,SIMOV AX,SISUB AX,6MOV DI,AXAGAIN1:MOV AL,SIMOV DI,ALINC SIINC DILOOP AGAIN1JMP OUT PUTTEXT:MOV AL,'$'MOV SI-1,ALOUTP UT:LEA DX,STR0MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START 10、現(xiàn)有一組字符串為data,name,time,請(qǐng)編寫(xiě)程序?qū)⑸?/p>

35、述字符串排序(升序) 并插入disk使其人仍然有序,并在顯示器上顯示。DATAS SEGMENTSTR0 DB 'data',0AH,0DHSTR1 DB 'n ame',0AH,0DHSTR2 DB 'time',0AH,0DHSTR3 DB 'STR4 DB 'code',0AH,0DHSTR5 DB 'p ath',0AH,0DHSTR6 DB 'user',0AH,0DHSTR7 DB 'exit',0AH,0DHSTR8 DB 'quit',0AH,

36、0DHSTR9 DB 'text',0AH,0DHSTR10 DB '$' LEAGTH EQU $-STR0 BUF DB 5DB ?DB 5 DUPDATAS ENDSSTACKS SEGMENTSAVE DB 100 DUPSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA SI,STR0LEA DI,STR1MOV CX,9AGAIN1:P USH CXP USH SIP USH DI

37、AGAIN:MOV AL,SIMOV BL,DICMP AL,BLJA CHANGEJE EQUEL1NEXT:ADD SI,6ADD DI,6LOOP AGAINPOP DIPOP SIPOP CXLOOP AGAIN1JMP OUT PUTEQUEL1:MOV AL,SI+1MOV BL,DI+1CMP AL,BL JA CHANGE JE EQUEL2 JMP NEXT EQUEL2:MOV AL,SI+2MOV BL,DI+2 CMP AL,BL JA CHANGE JE EQUEL3 JMP NEXTEQUEL3:MOV AL,SI+3MOV BL,DI+3 CMP AL,BL JA

38、 CHANGE JE NEXT CHANGE:MOV AL,SIMOV BL,DIMOV SI,BLMOV DI,ALMOV AL,SI+1MOV BL,DI+1MOV SI+1,BLMOV DI+1,ALMOV AL,SI+2MOV BL,DI+2MOV SI+2,BLMOV DI+2,ALMOV AL,SI+3MOV BL,DI+3MOV SI+3,BLMOV DI+3,AL JMP NEXT OUTP UT:LEA DX,STR0MOV AH,09HINT 21HLEA DX,BUFMOV AH,0AHINT 21HMOV DL,0AHMOV AH,02HINT 21HMOV DL,0D

39、HMOV AH,02HINT 21HLEA SI,STR0LEA DI,BUF+2MOV CX,0AHCONTINUE:MOV AL,SIMOV BL,DICMP AL,BLJE EQUALJA INSERTADD SI,6DEC CXCMP CX,0JNZ CONTINUEJMP LASTEQUAL:MOV AL,SI+1MOV BL,DI+1CMP AL,BLJA INSERTADD SI,6DEC CXCMP CX,0JNZ CONTINUEJMP LASTINSERT:MOV CX,LEAGTHMOV DI,CXDEC DIDEC DISUB CX,SISUB CX,7MOV AX,D

40、ISUB AX,6MOV SI,AXAGAIN2:MOV AL,SIMOV DI,ALDEC SIDEC DILOOP AGAIN2MOV CX,4INC SILEA DI,BUF+2JMP AGAIN3 LAST:MOV CX,4LEA DI,BUF+2AGAIN3:MOV AL,DIMOV SI,ALINC SIINC DILOOP AGAIN3LEA DX,STR0MOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START 11、鍵盤(pán)輸入一個(gè)十進(jìn)制數(shù)(字類(lèi)型),以十六進(jìn)制的形式輸出。CODES SEGMENTASSUME CS:CODESS

41、TART:NEXT:MOV BX,0CALL INPUTCALL OUT PUTJMP NEXTINPUT P ROC NEARSHURU:MOV AH,01HINT 21HCBWCMP AX,0DHJE RETURNCMP AX,'0'JB EXITCMP AX,9JA EXITCALL TRANSFORMJMP SHURURETURN:RETINPUT END PTRANSFORM P ROC NEARXCHG AX,BXSUB BX,30HMOV CX,10MUL CXADD AX,BXXCHG AX,BXRETTRANSFORM END POUT PUT P ROC N

42、EARMOV DH,4MOV CL,4CONTINUE:ROL BX,CLMOV AL,BLAND AL,0FHCMP AL,9JA ZIMUADD AL,30HJMP SHUCHUZIMU:ADD AL,37HSHUCHU:MOV DL,ALMOV AH,02HINT 21HDEC DHCMP DH,0JNE CONTINUEMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HRETOUT PUT END PEXIT:MOV AH,4CHINT 21HCODES ENDSEND START 12、鍵盤(pán)輸入一個(gè)十進(jìn)制數(shù)(字類(lèi)型),以二進(jìn)制

43、的形式輸出。CODES SEGMENTASSUME CS:CODESSTART:NEXT:MOV BX,0CALL INPUTCALL OUT PUTJMP NEXTINPUT P ROC NEARSHURU:MOV AH,01HINT 21HCBWCMP AX,0DHJE RETURNCMP AX,'0'JB EXITCMP AX,9JA EXITCALL TRANSFORMJMP SHURURETURN:RETINPUT END PTRANSFORM P ROC NEARXCHG AX,BXSUB BX,30HMOV CL,10MUL CLADD AX,BXXCHG AX,

44、BXRETTRANSFORM END POUT PUT P ROC NEARMOV CX,16CONTINUE:ROL BX,1MOV AL,BLAND AL,00000001HADD AL,30H SHUCHU:MOV DL,ALMOV AH,02HINT 21HDEC CXCMP CX,0JNE CONTINUEMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HRETOUT PUT END P EXIT:MOV AH,4CHINT 21HCODES ENDSEND START 13、鍵盤(pán)輸入一個(gè)二進(jìn)制數(shù)(字類(lèi)型),以十六進(jìn)制的形式輸

45、出。CODES SEGMENTASSUME CS:CODESSTART:NEXT:MOV BX,0CALL INPUTCALL OUT PUTJMP NEXTINPUT P ROC NEARSHURU:MOV AH,01HINT 21HCBWCMP AX,0DHJE RETURNCMP AX,'0'JB EXITCMP AX,'1'JA EXITCALL TRANSFORMJMP SHURURETURN:RETINPUT END PTRANSFORM P ROC NEARXCHG AX,BXSUB BX,30HMOV CX,2MUL CXADD AX,BXXCH

46、G AX,BXRETTRANSFORM END POUT PUT P ROC NEARMOV DH,4MOV CL,4CONTINUE:ROL BX,CLMOV AL,BLAND AL,0FHCMP AL,9JA ZIMUADD AL,30HJMP SHUCHUZIMU:ADD AL,37HSHUCHU:MOV DL,ALMOV AH,02HINT 21HDEC DHCMP DH,0JNE CONTINUEMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HRETOUT PUT END PEXIT:MOV AH,4CHINT 21HCOD

47、ES ENDSEND START 14、鍵盤(pán)輸入一個(gè)二進(jìn)制數(shù)(字類(lèi)型),以十進(jìn)制的形式輸出。CODES SEGMENTASSUME CS:CODESSTART:NEXT:MOV BX,0CALL INPUTCALL OUT PUTJMP NEXTINPUT P ROC NEARSHURU:MOV AH,01HINT 21HCBWCMP AX,0DHJE RETURNCMP AX,'0'JB EXITCMP AX,'1'JA EXITCALL TRANSFORMJMP SHURURETURN:RETINPUT END PTRANSFORM P ROC NEARXC

48、HG AX,BXSUB BX,30HMOV CX,2MUL CXADD AX,BXXCHG AX,BXRETTRANSFORM END POUT PUT P ROC NEARMOV AX,BXMOV CX,10000MOV DX,0DIV CXMOV BX,DXADD AL,30H MOV DL,AL MOV AH,02HINT 21HMOV AX,BXMOV CX,1000MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AX,BXMOV CX,100MOV DX,0DIV CXMOV BX,DXADD AL,30H

49、MOV DL,ALMOV AH,02HINT 21HMOV AX,BXMOV CX,10MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AX,BXMOV CX,1MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HRETOUT PUT END PEXIT:MOV AH,4CHINT 21HCODES ENDSEND START 15、鍵盤(pán)輸入一個(gè)

50、十六進(jìn)制數(shù)(字類(lèi)型),以十進(jìn)制的形式輸出。CODES SEGMENTASSUME CS:CODESSTART:NEXT:MOV BX,0CALL INPUTCALL OUT PUTJMP NEXTINPUT P ROC NEARSHURU:MOV AH,01HINT 21HCBWCMP AX,0DHJE RETURNCMP AX,'0'JB EXITCMP AX,9JA ZIMUJMP CHENGGONGZIMU:CMP AX,'A'JB EXITCMP AX,'F'JA EXITCHENGGONG:CALL TRANSFORMJMP SHURU

51、RETURN:RETINPUT END PTRANSFORM P ROC NEARCMP AX,39HJBE SHUZIJMP ZIMU1SHUZI:SUB AX,30HJMP KAISHIZIMU1:SUB AX,37H KAISHI:XCHG AX,BXMOV CX,16MUL CXADD AX,BXXCHG AX,BXRETTRANSFORM END POUT PUT P ROC NEARMOV AX,BXMOV CX,10000MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AX,BXMOV CX,1000M

52、OV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AX,BXMOV CX,100MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AX,BXMOV CX,10MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02H INT 21HMOV AX,BXMOV CX,1MOV DX,0DIV CXMOV BX,DXADD AL,30HMOV DL,ALMOV AH,02H INT 21HMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HRETOUT PUT END PEXIT:MOV AH,4CHINT 21HCODES ENDSEND START 16、鍵盤(pán)輸入一個(gè)十六進(jìn)制數(shù)(字類(lèi)型),以二進(jìn)制的形式輸出。CODES SEGMENTASSUME CS:CODESSTART:N

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論