北理工匯編語言30題_第1頁
北理工匯編語言30題_第2頁
北理工匯編語言30題_第3頁
北理工匯編語言30題_第4頁
北理工匯編語言30題_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.請(qǐng)任意輸入一個(gè)字符串,將該串倒序后在屏幕上顯示DATA SEGMENTBUF DB 0FFHDB ?DB 0FFH DUP (?)ANS DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21H LEA SI,BUF2 MOV AL,BUF1 XOR AH,AH ADD SI,AX DEC SI LEA DI,ANS2 XOR CH,CH MOV CL,BUF1AGAIN:MOV AL,SI MOV DI,AL

2、 DEC SI INC DILOOP AGAIN MOV BYTE PTRDI,$ LEA DX,ANS MOV AH,09H INT 21H MOV AH,4CHINT 21HCODE ENDSEND START2.請(qǐng)任意輸入一個(gè)字符串,統(tǒng)計(jì)其中空格和A的個(gè)數(shù),并將結(jié)果顯示在屏幕上DATA SEGMENTBUF1 DB 20 DB ? DB 20 DUP(?)NUM1 DB ?NUM2 DB ?BUF3 DB 13,10BUF2 DB NUM1=,0,0,13,10,NUM2=,0,0,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAM

3、AIN PROC FARMOV AX,DATA MOV DS,AX MOV ES,AX CALL INPUT CALL COUNT CALL FIND CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RETINPUT ENDPOUTPUT PROC LEA DX,BUF3 MOV AH,9 INT 21H RETOUTPUT ENDPCOUNT PROC MOV CX,0FFFFH LEA SI,BUF1+2AGAIN2: CMP BYTE PTR SI,0DH

4、JZ TO INC SI LOOP AGAIN2TO: NOT CX RETCOUNT ENDPFIND PROCPUSH CXLEA SI,BUF1+2AGAIN: CMP BYTE PTR SI, JNZ T1 INC NUM1T1:INC SILOOP AGAIN POP CX LEA SI,BUF1+2AGAIN1: CMP BYTE PTR SI,AJNZ T INC NUM2T:INC SILOOP AGAIN1 MOV DL,10 MOV AL,NUM1MOV AH,0 DIV DL OR AX,3030H MOV WORD PTR BUF3+7,AX MOV AL,NUM2 M

5、OV AH,0DIV DL OR AX,3030H MOV WORD PTR BUF3+16,AXRETFIND ENDPCODE ENDS END MAIN3.請(qǐng)任意輸入一個(gè)字符串,將其中的空格全部刪除,并將結(jié)果顯示在屏幕上DATA SEGMENTBUF1 DB 20 DB ?BUF4 DB 20 DUP(?)BUF3 DB 13,10BUF2 DB 20 DUP(?)COUN DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE ,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX CALL

6、INPUT CALL LOCATE CALL PREPARE CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RETINPUT ENDPLOCATE PROC LEA BX,BUF1+2 DEC BXAGAIN2:INC BX CMP BYTE PTR BX, JNZ TO5 CALL DELETE TO5: CMP BYTE PTR BX,0DH JNZ AGAIN2 RETLOCATE ENDP OUTPUT PROC LEA DX,BUF1 MOV AH,9

7、 INT 21H RETOUTPUT ENDPDELETE PROC PUSH BX AGAIN3:CMP BYTE PTR BX,0DH JZ TO2 MOV AL, BYTE PTR BX+1 MOV BYTE PTR BX,AL INC BX JMP AGAIN3TO2: POP BX DEC BX RET PREPARE PROC CALL COUNTLEN LEA SI,BUF4 ADD SI,CX MOV BYTE PTR SI,$ LEA SI,BUF1 MOV SI,0D0AH RETPREPARE ENDP COUNTLEN PROC MOV CX,0FFFFH LEA SI

8、,BUF1+2AGAIN5: CMP BYTE PTR SI,0DH JZ TO3 INC SI LOOP AGAIN5TO3: NOT CX RETCOUNTLEN ENDPCODE ENDS END MAIN4.請(qǐng)任意輸入一個(gè)字符串,將其中A換成CC,并將結(jié)果顯示在屏幕上DATA SEGMENTBUF1 DB 20 DB ?BUF4 DB 20 DUP(?)BUF3 DB 13,10BUF2 DB 20 DUP(?)COUN DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE ,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA

9、MOV DS,AX MOV ES,AX CALL INPUT CALL LOCATE CALL PREPARE CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RETINPUT ENDPLOCATE PROC LEA BX,BUF1+2 DEC BXAGAIN2:INC BX CMP BYTE PTR BX,A JNZ TO5 CALL ADDTION TO5: CMP BYTE PTR BX,0DH JNZ AGAIN2 RETLOCATE ENDP OUTPU

10、T PROC LEA DX,BUF1 MOV AH,9 INT 21H RETOUTPUT ENDPADDTION PROC PUSH BX AGAIN3:INC BX INC COUN CMP BYTE PTR BX,0DH JNZ AGAIN3AGAIN4:MOV AL, BYTE PTR BX MOV BYTE PTR BX+1,AL DEC BX DEC COUN JNZ AGAIN4 POP BX MOV BX,CC RETADDTION ENDP PREPARE PROC CALL COUNTLEN LEA SI,BUF4 ADD SI,CX MOV BYTE PTR SI,$ L

11、EA SI,BUF1 MOV SI,0D0AH RETPREPARE ENDP COUNTLEN PROC MOV CX,0FFFFH LEA SI,BUF1+2AGAIN5: CMP BYTE PTR SI,0DH JZ TO3 INC SI LOOP AGAIN5TO3: NOT CX RETCOUNTLEN ENDPCODE ENDS END MAIN5.請(qǐng)任意輸入一個(gè)字符串,將其中大寫字母換成小寫字母,并將結(jié)果顯示在屏幕上DATA SEGMENTBUF1 DB 20 DB ?BUF4 DB 20 DUP(?)BUF3 DB 13,10BUF2 DB 20 DUP(?)COUN DB 0

12、DATA ENDSCODE SEGMENT ASSUME CS:CODE ,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX CALL INPUT CALL LOCATE CALL PREPARE CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RETINPUT ENDPLOCATE PROC LEA BX,BUF1+2 DEC BXAGAIN2:INC BX CMP BYTE PTR BX,

13、A JB TO5 CMP BYTE PTR BX,Z JAE TO5 CALL CHANGE TO5: CMP BYTE PTR BX,0DH JNZ AGAIN2 RETLOCATE ENDP OUTPUT PROC LEA DX,BUF1 MOV AH,9 INT 21H RETOUTPUT ENDPCHANGE PROC ADD BYTE PTR BX,20H RETCHANGE ENDPPREPARE PROC CALL COUNTLEN LEA SI,BUF4 ADD SI,CX MOV BYTE PTR SI,$ LEA SI,BUF1 MOV SI,0D0AH RETPREPAR

14、E ENDP COUNTLEN PROC MOV CX,0FFFFH LEA SI,BUF1+2AGAIN5: CMP BYTE PTR SI,0DH JZ TO3 INC SI LOOP AGAIN5TO3: NOT CX RETCOUNTLEN ENDPCODE ENDS END MAIN6.請(qǐng)任意輸入一個(gè)字符串,將其中的英文字母全部刪除,并將結(jié)果顯示在屏幕上。DATA SEGMENTBUF1 DB 20 DB ?BUF4 DB 20 DUP(?)BUF3 DB 13,10BUF2 DB 20 DUP(?)COUN DB 0DATA ENDSCODE SEGMENT ASSUME CS:C

15、ODE ,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX CALL INPUT CALL LOCATE CALL PREPARE CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RETINPUT ENDPLOCATE PROC LEA BX,BUF1+2 DEC BXAGAIN2:INC BX CMP BYTE PTR BX,A JB TO5 CMP BYTE PTR BX,z JA TO5

16、 CMP BYTE PTR BX,a JAE TO6 CMP BYTE PTR BX,Z JBE TO6 JMP TO5 TO6: CALL DELETE TO5: CMP BYTE PTR BX,0DH JNZ AGAIN2 RETLOCATE ENDP OUTPUT PROC LEA DX,BUF1 MOV AH,9 INT 21H RETOUTPUT ENDPDELETE PROC PUSH BX AGAIN3:CMP BYTE PTR BX,0DH JZ TO2 MOV AL, BYTE PTR BX+1 MOV BYTE PTR BX,AL INC BX JMP AGAIN3TO2:

17、 POP BX DEC BX RET PREPARE PROC CALL COUNTLEN LEA SI,BUF4 ADD SI,CX MOV BYTE PTR SI,$ LEA SI,BUF1 MOV SI,0D0AH RETPREPARE ENDP COUNTLEN PROC MOV CX,0FFFFH LEA SI,BUF1+2AGAIN5: CMP BYTE PTR SI,0DH JZ TO3 INC SI LOOP AGAIN5TO3: NOT CX RETCOUNTLEN ENDPCODE ENDS END MAIN7.現(xiàn)有一組字符串為data,name,time,file,cod

18、e,path,user,exit,quit,text,請(qǐng)編寫程序從鍵盤輸入4個(gè)字符的字符串,若存在將其修改為disk, 并將結(jié)果在顯示器上顯示DATA SEGMENTOUT1 DB 13,10BUF1 DB data name time file code path user exit quit text$BUF2 DB 5 DB ?BUF DB 5 DUP(?)BUF0 DB diskDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX CALL IN

19、PUT CALL FIND CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV DX,OFFSET BUF2 MOV AH,0AH INT 21H RETINPUT ENDPOUTPUT PROC LEA DX,OUT1 MOV AH,9 INT 21H RETOUTPUT ENDPFIND PROCLEA BX,BUF1 MOV CX,10AGAIN: MOV SI,BXLEA DI,BUFPUSH CXMOV CX,4REPZ CMPSB JZ TO JMP TP2TO: CALL CHANGETP2 : POP CXADD BX

20、,5LOOP AGAINRETFIND ENDPCHANGE PROCMOV AX,WORD PTR buf0 MOV WORD PTR BX,AXMOV AX,WORD PTR buf0+2 MOV WORD PTR BX+2,AXRETCHANGE ENDPCODE ENDSEND MAIN 8.現(xiàn)有一組字符串為ram,yes,red,the,get,for,and,key,not,may,請(qǐng)編寫程序?qū)⑺麄儼碅SCII大小排序,并在顯示器上顯示。DATA SEGMENTBUF1 DB ram yes red the get for and key not may $MIN DB 4DATA

21、 ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX CALL INORDER CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPOUTPUT PROC LEA DX,BUF1 MOV AH,09H INT 21HRETOUTPUT ENDPINORDER PROC MOV SI,0MOV CX,10AGAIN: MOV BX,SIMOV DI,SIADD DI,4PUSH CXMOV CX,10 MOV AX,DI DIV MI

22、NSUB CX,AXAGAIN2: MOV AL,BUF1BX SUB AL,BUF1DI JB TO JE TO3 JMP TO2TO3 : MOV AL,BUF1BX+1 SUB AL,BUF1DI+1 JB TOJMP TO2TO: MOV BX,DITO2: ADD DI,4LOOP AGAIN2PUSH WORD PTR BUF1BXPUSH WORD PTR BUF1BX+2PUSH WORD PTR BUF1SIPUSH WORD PTR BUF1SI+2POP WORD PTR BUF1BX+2POP WORD PTR BUF1BX POP WORD PTR BUF1SI+2P

23、OP WORD PTR BUF1SIPOP CXADD SI,4 dec cxCMP CX ,1JNZ AGAINRETINORDER ENDPCODE ENDSEND MAIN9.現(xiàn)有一組字符串為data,name,time,file,code,path,user,exit,quit,text,請(qǐng)編寫程序從鍵盤輸入4個(gè)字符的字符串,若存在將其刪除, 并在顯示器上顯示。DATA SEGMENTBUF4 DB 10,13BUF1 DB data name time file code path user exit quit text $BUF2 DB 5 DB ? DB 5 DUP(0)BUF3

24、 DB 13,10,NO FOUND$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX CALL INPUT CALL FINDMOV AX,4C00H INT 21HMAIN ENDPINPUT PROC LEA DX,BUF2 MOV AH,0AH INT 21H RETINPUT ENDPOUTPUT1 PROC LEA DX,BUF3 MOV AH,09H INT 21H MOV AX,4C00H INT 21HOUTPUT1 ENDPOUT

25、PUT2 PROC LEA DX,BUF4 MOV AH,09H INT 21HRETOUTPUT2 ENDPFIND PROC LEA BX,BUF1 MOV CX,10AGAIN: PUSH CX MOV SI,BX LEA DI,BUF2+2 MOV CX,4REPZ CMPSB JZ TO JMP TO2TO: CALL DELETE JMP TO3TO2: POP CX ADD BX,5 LOOP AGAIN CALL OUTPUT1TO3: pop cx RETFIND ENDPDELETE PROC CLD MOV SI ,BXADD SI,5 MOV DI, BXAGAIN1:

26、 MOVSB CMP BYTE PTR BX,$ JZ TO1 INC BX JMP AGAIN1TO1: call output2 RETDELETE ENDPCODE ENDS END MAIN10.現(xiàn)有一組字符串為data,name,time,file,code,path,user,exit,quit,text,請(qǐng)編寫程序?qū)⑸鲜鲎址判颍ㄉ颍┎⒉迦雂isk使其人仍然有序, 并在顯示器上顯示。DATA SEGMENTBUF1 DB data name time file code path user exit quit text $MIN DB 5BUF2 DB 5 DB ? DB 5

27、 DUP(0)DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX CALL INPUT CALL INORDER CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROCLEA DX, BUF2MOV AH,0AHINT 21HMOV CX ,4LEA SI ,BUF2+2LEA DI,BUF1+50REP MOVSB RETINPUT ENDPOUTPUT PROC LEA DX,BUF1 MOV AH,

28、09H INT 21HRETOUTPUT ENDPINORDER PROC MOV SI,0MOV CX,11AGAIN: MOV BX,SIMOV DI,SIADD DI,5PUSH CXMOV CX,11 MOV AX,DI DIV MINSUB CX,AXAGAIN2: MOV AL,BUF1BX SUB AL,BUF1DI Ja TO JE TO3 JMP TO2TO3 : MOV AL,BUF1BX+1 SUB AL,BUF1DI+1 Ja TOJMP TO2TO: MOV BX,DITO2: ADD DI,5LOOP AGAIN2PUSH WORD PTR BUF1BXPUSH W

29、ORD PTR BUF1BX+2PUSH WORD PTR BUF1SIPUSH WORD PTR BUF1SI+2POP WORD PTR BUF1BX+2POP WORD PTR BUF1BX POP WORD PTR BUF1SI+2POP WORD PTR BUF1SIPOP CXADD SI,5 dec cxCMP CX ,1JNZ AGAINRETINORDER ENDPCODE ENDSEND MAIN11.鍵盤輸入一個(gè)十進(jìn)制數(shù)(字類型),以十六進(jìn)制的形式輸出DATA SEGMENTBUF DB 6 DB ? DB 6 DUP(?)MINUS DW 10STORE DB 6 DU

30、P(0)PRINT DB 10,13STORE2 DB 0,0,0,0,10,13,$EROR DB 13,10,INPUT ERROR!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX R: CALL INPUTCALL CHANGE CALL OUTPUTJMP R MOV AX,4C00H INT 21HMAIN ENDPCHANGE PROCMOV CL ,BUF+1 LEA BX,BUF +2 LEA SI,STOREAGAIN: MOV

31、 AL ,BX AND AL,0FH MOV SI,AL INC BX INC SI DEC CL JNZ AGAIN LEA SI,STOREMOV CL ,BUF+1DEC CLMOV DL,SIMOV DH,0 PUSH DXINC SI AGAIN2: POP AX MUL MINUS MOV BL,SIMOV BH,0 ADD BX,AXPUSH BX INC SI DEC CL JNZ AGAIN2POP AX RETCHANGE ENDPINPUT PROC LEA DX,BUF MOV AH,0AH INT 21H CALL CHECK RETINPUT ENDP OUTPUT

32、 PROC MOV DX,AX MOV AL,AH AND AX,0F00FHMOV CL ,4 SHR AH,CLADD AX,3030H CMP AH,39H JBE GOON ADD AH,7GOON: CMP AL ,39H JBE GOON1 ADD AL,7GOON1:XCHG AL,AH MOV WORD PTR STORE2,AX MOV AX,DX MOV AH,AL AND AX,0F00FHMOV CL ,4 SHR AH,CLADD AX,3030H CMP AH,39H JBE GOON2 ADD AH,7GOON2: CMP AL ,39H JBE GOON3ADD

33、 AL,7 GOON3:XCHG AL,AH MOV WORD PTR STORE2+2,AX LEA DX,PRINT MOV AH,9 INT 21H RETOUTPUT ENDP ERROR PROC LEA DX,EROR MOV AH,9 INT 21H MOV AX,4C00H INT 21H ERROR ENDPCHECK PROCMOV CL ,BUF+1LEA BX,BUF+2AGAIN3: CMP BYTE PTR BX,30H JB TO CMP BYTE PTR BX,39H JA TOINC BXDEC CL JNZ AGAIN3 JMP TO2TO: CALL ER

34、RORTO2: RETCHECK ENDPCODE ENDS END MAIN12.鍵盤輸入一個(gè)十進(jìn)制數(shù)(字類型),以二進(jìn)制的形式輸出DATA SEGMENTBUF DB 6 DB ? DB 6 DUP(?)MINUS DW 10STORE DB 6 DUP(0)PRINT DB 10,13STORE2 DB 16 DUP(0),10,13,$MINUS2 DW 2EROR DB 13,10,INPUT ERROR!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX M

35、OV DS,AX R: CALL INPUTCALL CHANGECALL OUTPUTJMP R MOV AX,4C00H INT 21HMAIN ENDPCHANGE PROCMOV CL ,BUF+1 LEA BX,BUF +2 LEA SI,STOREAGAIN: MOV AL ,BX AND AL,0FH MOV SI,AL INC BX INC SI DEC CL JNZ AGAIN LEA SI,STOREMOV CL ,BUF+1DEC CLMOV DL,SIMOV DH,0 PUSH DXINC SI AGAIN2: POP AX MUL MINUS MOV BL,SIMOV

36、 BH,0 ADD BX,AXPUSH BX INC SI DEC CL JNZ AGAIN2POP AXRETCHANGE ENDPINPUT PROC LEA DX,BUF MOV AH,0AH INT 21H CALL CHECK RETINPUT ENDP OUTPUT PROC MOV CX,16 LEA BX,STORE2+15AGAIN4: DIV MINUS2 MOV BX,DLOR BYTE PTR BX,30H DEC BX LOOP AGAIN4 LEA DX,PRINT MOV AH,9INT 21H RETOUTPUT ENDP ERROR PROC LEA DX,E

37、ROR MOV AH,9 INT 21H MOV AX,4C00H INT 21H ERROR ENDPCHECK PROCMOV CL ,BUF+1LEA BX,BUF+2AGAIN3: CMP BYTE PTR BX,30H JB TO CMP BYTE PTR BX,39H JA TOINC BXDEC CL JNZ AGAIN3 JMP TO2TO: CALL ERRORTO2: RETCHECK ENDPCODE ENDS END MAIN 13.鍵盤輸入一個(gè)二進(jìn)制數(shù)(字類型),以十六進(jìn)制的形式輸出DATA SEGMENTBUF DB 17 DB ? DB 17 DUP(?)MINU

38、S DW 2STORE DB 6 DUP(0)PRINT DB 10,13STORE2 DB 0,0,0,0,10,13,$EROR DB 13,10,INPUT ERROR!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AXR: CALL INPUTCALL CHANGE CALL OUTPUTJMP R MOV AX,4C00H INT 21HMAIN ENDPCHANGE PROC LEA SI,BUF +2 MOV CX,15 AND BYT

39、E PTR SI,0FH MOV BL,SIMOV BH,0 INC SIPUSH BX AGAIN2: POP AX MUL MINUSAND BYTE PTR SI,0FH MOV BL,SIMOV BH,0 ADD BX,AXPUSH BX INC SI LOOP AGAIN2POP AXRETCHANGE ENDPINPUT PROC LEA DX,BUF MOV AH,0AH INT 21H CALL CHECK RETINPUT ENDP OUTPUT PROC MOV DX,AX MOV AL,AH AND AX,0F00FHMOV CL ,4 SHR AH,CLADD AX,3

40、030H CMP AH,39H JBE GOON ADD AH,7GOON: CMP AL ,39H JBE GOON1 ADD AL,7GOON1:XCHG AL,AH MOV WORD PTR STORE2,AX MOV AX,DX MOV AH,AL AND AX,0F00FHMOV CL ,4 SHR AH,CLADD AX,3030H CMP AH,39H JBE GOON2 ADD AH,7GOON2: CMP AL ,39H JBE GOON3ADD AL,7 GOON3:XCHG AL,AH MOV WORD PTR STORE2+2,AX LEA DX,PRINT MOV A

41、H,9 INT 21H RETOUTPUT ENDP ERROR PROC LEA DX,EROR MOV AH,9 INT 21H MOV AX,4C00H INT 21H ERROR ENDPCHECK PROCMOV CX,16LEA BX,BUF+2AGAIN3: CMP BYTE PTR BX,30H JB TO CMP BYTE PTR BX,31H JA TOINC BXLOOP AGAIN3 JMP TO2TO: CALL ERRORTO2: RETCHECK ENDPCODE ENDS END MAIN 14.鍵盤輸入一個(gè)二進(jìn)制數(shù)(字類型),以十進(jìn)制的形式輸出DATA SEG

42、MENTBUF DB 17 DB ? DB 17 DUP(?)MINUS DW 2STORE DB 6 DUP(0)PRINT DB 10,13STORE2 DB 5 DUP(0),10,13,$MINUS2 DW 10EROR DB 13,10,INPUT ERROR!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AXR: CALL INPUTCALL CHANGECALL OUTPUTJMP R MOV AX,4C00H INT 21HMAIN

43、ENDPCHANGE PROCLEA SI,BUF +2 MOV CX,15 AND BYTE PTR SI,0FH MOV BL,SIMOV BH,0 INC SIPUSH BX AGAIN2: POP AX MUL MINUSAND BYTE PTR SI,0FH MOV BL,SIMOV BH,0 ADD BX,AXPUSH BX INC SI LOOP AGAIN2POP AXRETCHANGE ENDPINPUT PROC LEA DX,BUF MOV AH,0AH INT 21H CALL CHECK RETINPUT ENDP OUTPUT PROC MOV CX,5 LEA B

44、X,STORE2+4AGAIN4: MOV DX,0DIV MINUS2 MOV BX,DLOR BYTE PTR BX,30H DEC BX LOOP AGAIN4 LEA DX,PRINT MOV AH,9INT 21H RETOUTPUT ENDP ERROR PROC LEA DX,EROR MOV AH,9 INT 21H MOV AX,4C00H INT 21H ERROR ENDPCHECK PROCMOV CL ,BUF+1LEA BX,BUF+2AGAIN3: CMP BYTE PTR BX,30H JB TO CMP BYTE PTR BX,39H JA TOINC BXD

45、EC CL JNZ AGAIN3 JMP TO2TO: CALL ERRORTO2: RETCHECK ENDPCODE ENDS END MAIN 15、鍵盤輸入一個(gè)十六進(jìn)制數(shù)(字類型),以十進(jìn)制的形式輸出DATA SEGMENTBUF DB 5 DB ? DB 5 DUP(?)MINUS DW 10STORE DB 6 DUP(0)PRINT DB 10,13STORE2 DB 5 DUP(0),10,13,$MINUS2 DW 2EROR DB 13,10,INPUT ERROR!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAM

46、AIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX R: CALL INPUTCALL CHANGECALL OUTPUTJMP R MOV AX,4C00H INT 21HMAIN ENDPCHANGE PROCMOV AX,WORD PTR BUF+2XCHG AL,AHCMP AH,39HJBE TO5 SUB AH,37H JMP TPTO5: SUB AH,30HTP:CMP AL,39HJBE TO1 SUB AL,37H JMP TP1TO1: SUB AL,30HTP1: MOV CL,4SHL AH,CL OR AH,AL MOV AL,

47、0PUSH AXMOV AX,WORD PTR BUF+4XCHG AL,AHCMP AH,39HJBE TO3 SUB AH,37H JMP TP3TO3 : SUB AH,30HTP3:CMP AL,39HJBE TO4 SUB AL,37H JMP TP4TO4: SUB AL,30HTP4: MOV CL,4SHL AH,CL OR AL,AH MOV AH,0POP DXOR AX,DX RETCHANGE ENDPINPUT PROC LEA DX,BUF MOV AH,0AH INT 21H ;CALL CHECK RETINPUT ENDP OUTPUT PROC MOV CX

48、,5 LEA BX,STORE2+4AGAIN4: MOV DX,0DIV MINUS MOV BX,DLOR BYTE PTR BX,30H DEC BX LOOP AGAIN4 LEA DX,PRINT MOV AH,9INT 21H RETOUTPUT ENDP ERROR PROC LEA DX,EROR MOV AH,9 INT 21H MOV AX,4C00H INT 21H ERROR ENDPCHECK PROCMOV CL ,BUF+1LEA BX,BUF+2AGAIN3: CMP BYTE PTR BX,41H JB TO CMP BYTE PTR BX,46H JA TO

49、INC BXDEC CL JNZ AGAIN3 JMP TO2TO: CALL ERRORTO2: RETCHECK ENDPCODE ENDS END MAIN 16.鍵盤輸入一個(gè)十六進(jìn)制數(shù)(字類型),以二進(jìn)制的形式輸出DATA SEGMENTBUF DB 5 DB ? DB 5 DUP(?)MINUS DW 10STORE DB 6 DUP(0)PRINT DB 10,13STORE2 DB 16 DUP(0),10,13,$MINUS2 DW 2EROR DB 13,10,INPUT ERROR!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,

50、DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX R: CALL INPUTCALL CHANGECALL OUTPUTJMP R MOV AX,4C00H INT 21HMAIN ENDPCHANGE PROCMOV AX,WORD PTR BUF+2XCHG AL,AHCMP AH,39HJBE TO5 SUB AH,37H JMP TPTO5: SUB AH,30HTP:CMP AL,39HJBE TO1 SUB AL,37H JMP TP1TO1: SUB AL,30HTP1: MOV CL,4SHL AH,CL OR AH,AL

51、 MOV AL,0PUSH AXMOV AX,WORD PTR BUF+4XCHG AL,AHCMP AH,39HJBE TO3 SUB AH,37H JMP TP3TO3 : SUB AH,30HTP3:CMP AL,39HJBE TO4 SUB AL,37H JMP TP4TO4: SUB AL,30HTP4: MOV CL,4SHL AH,CL OR AL,AH MOV AH,0POP DXOR AX,DX RETCHANGE ENDPINPUT PROC LEA DX,BUF MOV AH,0AH INT 21H ;CALL CHECK RETINPUT ENDP OUTPUT PRO

52、C MOV CX,16 LEA BX,STORE2+15AGAIN4:MOV DX,0 DIV MINUS2 MOV BX,DLOR BYTE PTR BX,30H DEC BX LOOP AGAIN4 LEA DX,PRINT MOV AH,9INT 21H RETOUTPUT ENDP ERROR PROC LEA DX,EROR MOV AH,9 INT 21H MOV AX,4C00H INT 21H ERROR ENDPCHECK PROCMOV CL ,BUF+1LEA BX,BUF+2AGAIN3: CMP BYTE PTR BX,41H JB TO CMP BYTE PTR B

53、X,46H JA TOINC BXDEC CL JNZ AGAIN3 JMP TO2TO: CALL ERRORTO2: RETCHECK ENDPCODE ENDS END MAIN 17.將一組有符號(hào)數(shù)中的負(fù)數(shù)求和,并統(tǒng)計(jì)負(fù)數(shù)的個(gè)數(shù),并在屏幕上以十進(jìn)制的形式顯示結(jié)果。38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5HDATA SEGMENTBUF DB 38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5HCOUNT DB 0SUM DW 0MINUS DB 100,10PRINT DB NUM=,0,10,13,SUM=

54、-,0,0,0,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX CALL OPERATE CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPOPERATE PROC MOV CX,10 LEA BX,BUFAGAIN: CMP BYTE PTR BX,0 JGE TO INC COUNT NEG BYTE PTR BX MOV AL,BX CBW ADD SUM ,AXTO: INC BX LOOP AGAINRE

55、TOPERATE ENDPOUTPUT PROC MOV AH,COUNT OR AH,30H MOV PRINT+4,AH LEA SI,PRINT+12 MOV CX,2 MOV AX,SUMLEA DI,MINUS AGAIN1: DIV BYTE PTR DI OR AL,30H MOV SI,AL MOV AL,AH MOV AH,0 INC SI INC DI LOOP AGAIN1 OR AL,30H MOV SI,AL LEA DX, PRINT MOV AH,9 INT 21HRETOUTPUT ENDPCODE ENDS END MAIN18.鍵盤輸入十個(gè)數(shù),分別統(tǒng)計(jì)0到9

56、,10到99,100以上的數(shù)的個(gè)數(shù),并顯示結(jié)果DATA SEGMENTBUF DB 61 DB ? DB 61 DUP(?)C1 DB 30HC2 DB 30HC3 DB 30HPRINT DB 10,13OUTP DB 0- 9:,30H,0,10,13 DB 10-99:,30H,0,10,13 DB 100:,30H,0,$DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS:DATA,ES:DATA MAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AXCALL INPUT CALL COUNT CALL PREPAREC

57、ALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPCOUNT PROC LEA BX,BUF+2 MOV CX,10AGAIN: MOV AX,WORD PTR BXXCHG AL,AH CMP AX,3030H JA TO1000 MOV AX,WORD PTR BX+2XCHG AL,AH CMP AX,3030H JE TO10 CMP AX,3130H JAE TO1000 INC C2 JMP ENDDTO1000: INC C3 JMP ENDDTO10: INC C1ENDD: ADD BX,6 LOOP AGAIN RETCOUNT ENDPPRE

58、PARE PROCLEA BX,OUTPCMP C1,3AH JE TO1MOV AL,C1 MOV BX+7,ALJMP CON1TO1: MOV BYTE PTR BX+6,31HMOV BYTE PTR BX+7,30HCON1: CMP C2,3AH JE TO2MOV AL,C2 MOV BYTE PTR BX+17,ALJMP CON2TO2: MOV BYTE PTR BX+16,31HMOV BYTE PTR BX+17,30HCON2: CMP C3,3AH JE TO3MOV AL,C3 MOV BX+27,ALJMP CON3TO3: MOV BYTE PTR BX+26

59、,31HMOV BYTE PTR BX+27,30HCON3: RETPREPARE ENDP INPUT PROC LEA DX,BUF MOV AH,0AH INT 21H RETINPUT ENDPOUTPUT PROCLEA DX,PRINTMOV AH,9INT 21HRETOUTPUT ENDPCODE ENDS END MAIN19.鍵盤輸入兩組數(shù)743216、527864,按BCD碼求和,并將結(jié)果顯示在屏幕上DATA SEGMENTBUF1 DB 7 DB ? DB 7 DUP(?)BUF2 DB 7 DB ? DB 7 DUP(?)PRINT DB 10 ,13BUF DB

60、$,6 DUP(0),$DATA ENDSCODE SEGMENT ASSUME CS:CODE,ES:DATA,DS:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,BUF1 CALL INPUTCALL OUTPUT LEA DX,BUF2 CALL INPUT CALL OPERATE CALL OUTPUT MOV AX,4C00H INT 21HMAIN ENDPINPUT PROC MOV AH ,0AH INT 21H RETINPUT ENDPOUTPUT PROC LEA DX,PRINT MOV AH,9 I

溫馨提示

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

評(píng)論

0/150

提交評(píng)論