1、汇编测验考试题目及代码1. 请任意输入一个字符串,将该串倒序后在屏幕上显示。2. 请任意输入一个字符串,统计其中空格和A的个数,并将结果显示在屏幕上。3. 请任意输入一个字符串,将其中的空格全部删除,并将结果显示在屏幕上。4. 请任意输入一个字符串,将其中A换成B,并将结果显示在屏幕上。5. 请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。6. 请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。7. 请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。8. 现有一组字符串为data,name,time,file,code,path,user
2、,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其修改为disk, 并在显示器上显示。9. 现有一组字符串为ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII大小排序,并在显示器上显示。10. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其删除, 并在显示器上显示。11. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编
3、写程序将上述字符串排序(升序)并插入disk使其人仍然有序, 并在显示器上显示。12. 键盘输入一个十进制数,以十六进制的形式输出。13. 键盘输入一个十进制数,以二进制的形式输出。14. 键盘输入一个二进制数,以十六进制的形式输出。15. 键盘输入一个二进制数,以十进制的形式输出。16. 键盘输入一个十六进制数,以十进制的形式输出。17. 键盘输入一个十六进制数,以二进制的形式输出。18. 将一组有符号数中的负数求和,并统计负数的个数,并在屏幕上以十进制的形式显示结果。38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5H19. 键盘输入两组数743216、5
4、27864,按BCD码求和,并将结果显示在屏幕上。20. 键盘输入下列两组十进制数,求其和,并将结果显示在屏幕上 35789418 4653142521. 键盘输入一串二进制数1ah ,7ch,0bah,3ah,45h,63h求其和,并将结果显示在屏幕上。22. 编写程序,将十个字的有符号数中最大、最小值求出,并在显示器上输出。125ah,4357h,0f50h,0b43h,4ac4h,7454h,8b15h,0a2a4h,0f3ch,00f6h23. 键盘输入10个字节数(无符号数),求出最大、最小值,并在显示器上输出。24. 设有4个学生参加5门考试,请计算每个学生的平均成绩和每门课的平均
5、分成绩,并在显示器上显示,输出格式如下:Chg1 chg2 chg3 chg4 chg5 meamS1 78 85 55 100 97 S2 67 96 43 79 84 S3 92 55 76 92 65 S4 43 95 82 89 75 Aver 不计小数。25. 将两个磁盘文件合并成一个新的文件。26. 将一磁盘文件E:ASSFILE.ASM读入内存2000:0000h中,并将文件以反序形式(头尾对应字符互换) 仍以相同路径存入磁盘中。27. 在多模块设计中,主模块中调用内部模块buf1,buf2,buf3,buf4。主模块根据键盘输入的指令(如:a,b,c,d)调用上述对应的子程序,
6、每个子程序的任务是显示其入口地址。调用后继续等待调用,若输入ESC键(ASCII码为1BH)则结束程序的执行。请编写完成该任务的程序。28. 现有一控制程序共5个工序,要求输入0-4的序号,分别执行各工序的子程序,每个子程序的任务是显示其入口地址。调用后继续等待调用,按回车则结束程序的执行。29. 现有一组参量按16位编码,各字段的长度如下:BIT1=6, BIT2=4, BIT3=3, BIT4=3, BIT1位于高位, BIT4位于低位。设BIT1=52, BIT2=13, BIT3=5, BIT4=3请用程序编码将这些字段编码组合成一个字,按二进制的形式在屏幕上输出。30. 键盘输入十个
7、数,分别同机0到9,10到99,100以上的数的个数,并显示结果。1DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP (?) ANS DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 MOV AL,BUF1 XOR AH,AH ADD SI,AX DEC SI LEA DI,ANS2 XOR CH,CH MOV CL,BUF1AGAIN:
8、 MOV AL,SI MOV DI,AL DEC SI INC DI LOOP AGAIN MOV BYTE PTRDI,$ LEA DX,ANS MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START2DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP (?) STROUT DB 0DH,0AH,A =000 DB 0DH,0AH,SPACE=000,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA
9、 DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 MOV CL,BUF1 XOR CH,CHAGAIN: CMP BYTE PTRSI,A JNE NOTA CMP STROUT10,9 JE ATEN INC STROUT10 JMP NEXTATEN: CMP STROUT9,9 JE AHUN MOV STROUT10,0 INC STROUT9 JMP NEXTAHUN: MOV STROUT10,0 MOV STROUT9,0 INC STROUT8 JMP NEXTNOTA: CMP BYTE PTRSI, JNE NOTSPACE CMP STROUT
10、21,9 JE SPACETEN INC STROUT21 JMP NEXTSPACETEN: CMP STROUT20,9 JE SPACEHUN MOV STROUT21,0 INC STROUT20 JMP NEXTSPACEHUN: MOV STROUT21,0 MOV STROUT20,0 INC STROUT19NOTSPACE:NEXT: INC SI LOOP AGAIN LEA DX,STROUT MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START3DATA SEGMENT BUF DB 0FFH DB ? DB
11、0FFH DUP (?) STROUT DB 0DH,0AH,0FDH DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 LEA DI,STROUT2 MOV CL,BUF1 XOR CH,CHAGAIN: CMP BYTE PTRSI, JE SPACE MOV AL,SI MOV DI,AL INC DISPACE: INC SI LOOP AGAIN MOV BYTE PTRDI,$ LEA DX,
12、STROUT MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START4DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP (?) STROUT DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 LEA DI,STROUT2 MOV CL,BUF1 XOR CH,CHAGAIN: CM
13、P BYTE PTRSI,A JNE NOTA MOV BYTE PTRDI,B JMP NEXTNOTA: MOV AL,SI MOV DI,ALNEXT: INC SI INC DI LOOP AGAIN MOV BYTE PTRDI,$ LEA DX,STROUT MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START5DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP (?) STROUT DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENT ASSUME CS
14、:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 LEA DI,STROUT2 MOV CL,BUF1 XOR CH,CHAGAIN: CMP BYTE PTRSI,A JNZ NOTA MOV WORD PTRDI,CC ADD DI,2 JMP NEXTNOTA: MOV AL,SI MOV DI,AL INC DINEXT: INC SI LOOP AGAIN MOV BYTE PTRDI,$ LEA DX,STROUT MOV AH,09H INT 21H MOV AH
15、,4CH INT 21HCODE ENDS END START6DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP (?) STROUT DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 LEA DI,STROUT2 MOV CL,BUF1 XOR CH,CHAGAIN: CMP BYTE PTRSI,A JB NOTUP CMP BYTE
16、 PTRSI,Z JA NOTUP MOV AL,SI ADD AL,20H MOV DI,AL JMP NEXTNOTUP: MOV AL,SI MOV DI,ALNEXT: INC SI INC DI LOOP AGAIN MOV BYTE PTRDI,$ LEA DX,STROUT MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START7DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP (?) STROUT DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENT
17、ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 LEA DI,STROUT2 MOV CL,BUF1 XOR CH,CHAGAIN: CMP BYTE PTRSI,A JB NOTUP CMP BYTE PTRSI,Z JA NOTUP INC SI JMP NEXTNOTUP: CMP BYTE PTRSI,a JB NOTALPHA CMP BYTE PTRSI,z JA NOTALPHA INC SI JMP NEXTNOTALPHA: MOV AL,
18、SI MOV DI,AL INC SI INC DINEXT: LOOP AGAIN MOV BYTE PTRDI,$ LEA DX,STROUT MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START8DATA SEGMENT BUF DB 05H DB ? DB 05H DUP (?) STROUT DB 0DH,0AH,data DB 0DH,0AH,name DB 0DH,0AH,time DB 0DH,0AH,file DB 0DH,0AH,code DB 0DH,0AH,path DB 0DH,0AH,user DB 0DH
19、,0AH,exit DB 0DH,0AH,quit DB 0DH,0AH,text,$ REPLACE DB disk DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,BUF MOV AH,0AH INT 21H LEA BX,STROUT2 LEA SI,BUF2 LEADI,STROUT2 MOV CX,10AGAIN: CLD PUSH CX MOV CX,4 REPZ CMPSB POP CX JNZ NEXT LEA SI,REPLACE
20、 MOV DI,BX MOV DX,4SUBAGAIN: MOV AL,SI MOV DI,AL INC SI INC DI DEC DX JNZ SUBAGAIN JMP EXITNEXT: LEA SI,BUF2 ADD BX,6 MOV DI,BX LOOP AGAINEXIT: LEA DX,STROUT MOV AH,09h INT 21H MOV AH,4CH INT 21HCODE ENDS END START9DATA SEGMENT BUF DB 0DH,0AH,ram DB 0DH,0AH,yes DB 0DH,0AH,red DB 0DH,0AH,the DB 0DH,0
21、AH,get DB 0DH,0AH,for DB 0DH,0AH,and DB 0DH,0AH,key DB 0DH,0AH,not DB 0DH,0AH,may,$ TMP DB ?DATA ENDSSTACK SEGMENT STACK DB 0FFH DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC NEARSTART: MOV AX,DATA MOV DS,AX MOV ES,AX LEA BX,BUF2 MOV DH,9AGAIN0: MOV DI,BX MOV SI,DI ADD SI,5 MO
22、V DL,DHAGAIN1: PUSH SI PUSH DI MOV CX,3 CLD REPZ CMPSB POP DI POP SI JA NOTABOVE MOV DI,SI JMP NEXT1 NOTABOVE:NEXT1: ADD SI,5 DEC DL JNZ AGAIN1NEXT0: CALL XCHGS3 ADD BX,5 DEC DH JNZ AGAIN0 LEA DX,BUF MOV AH,09H INT 21H MOV AH,4CH INT 21H MAIN ENDPXCHGS3 PROC NEAR PUSH SI PUSH DI PUSH CX MOV SI,DI MO
23、V DI,BX MOV CX,3AGAINXCHGS3: MOV AL,SI MOV AH,DI MOV SI,AH MOV DI,AL INC SI INC DI LOOP AGAINXCHGS3 POP CX POP SI POP DI RETXCHGS3 ENDPCODE ENDS END START10DATA SEGMENT BUF DB 05H DB ? DB 05H DUP (?) STROUT DB 0DH,0AH,data,$ DB 0DH,0AH,name,$ DB 0DH,0AH,time,$ DB 0DH,0AH,file,$ DB 0DH,0AH,code,$ DB
24、0DH,0AH,path,$ DB 0DH,0AH,user,$ DB 0DH,0AH,exit,$ DB 0DH,0AH,quit,$ DB 0DH,0AH,test,$DATA ENDSSTACK SEGMENT STACK DB 100 DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF2 LEA D
25、I,STROUT2 MOV DL,10AGAIN0: PUSH SI PUSH DI MOV CX,4 CLD REPZ CMPSB POP DI POP SI JE DEL ADD DI,7 DEC DL JNZ AGAIN0 JMP EXITDEL: CLD MOV AL,20H MOV CX,4 REP STOSBEXIT: LEA DX,STROUT MOV CX,10AGAIN1: PUSH DX MOV BX,DX CMP BYTE PTRBX+2, JE NEXT1 MOV AH,09H INT 21HNEXT1: POP DX ADD DX,7 LOOP AGAIN1 MOV
26、AH,4CH INT 21HCODE ENDS END START11DATA SEGMENT STRINSERT DB disk BUF DB 0DH,0AH,data DB 0DH,0AH,name DB 0DH,0AH,time DB 0DH,0AH,file DB 0DH,0AH,code DB 0DH,0AH,path DB 0DH,0AH,user DB 0DH,0AH,exit DB 0DH,0AH,quit DB 0DH,0AH,test DB 0DH,0AH, DB 0DH,0AH,$DATA ENDSSTACK SEGMENT STACK DW 0FFH DUP (?)ST
27、ACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX LEA BX,BUF2 MOV DL,9AGAIN0: MOV DI,BX MOV SI,DI ADD SI,6 MOV DH,DLAGAIN1: PUSH SI PUSH DI CLD MOV CX,4 REPZ CMPSB POP DI POP SI JA NEXT1 MOV DI,SINEXT1: ADD SI,6 DEC DH JNZ AGAIN1NEXT0: CALL XCHGS4 ADD BX,6 DEC DL JNZ AGAIN0 LEA DX,BUF MOV AH,09H INT 21H LEA BX,BUF2+6*10 LEA SI,STRINSERT LEA DI,BUF2 MOV DL,10AGAIN2: PUSH SI PUSH DI CLD MOV CX,4 REP CMPSB POP DI POP SI JB SHIFTRIGHTNEXT2: ADD DI,6 DEC DL JNZ AGAIN2SHIFTRIGHT: PUSH DI MOV AX,BX SUB
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1