北京理工大学汇编上机试题和代码(2)

2018-12-29 17:54

DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,BUF1 MOV AH,0AH INT 21H MOV CX,0 MOV CL,BUF1[1] LEA SI,BUF1[2] LEA DI,BUF2[2] L: CMP BYTE PTR [SI],'A' JNE M MOV WORD PTR [DI],'CC' ADD DI,2 INC SI JMP N M: MOV AL,[SI] MOV [DI],AL INC DI INC SI N: LOOP L MOV BYTE PTR [DI],'$' LEA DX,BUF2 MOV AH,09H INT 21H MOV AX,4C00H INT 21H CODE ENDS END

6. 请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。

DATA SEGMENT BUF1 DB 0FFH DB ? DB 0FFH DUP('?') BUF2 DB 0DH,0AH,0FDH DUP('?')

DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,BUF1 MOV AH,0AH INT 21H MOV CX,0 MOV CL,BUF1[1] LEA SI,BUF1[2] LEA DI,BUF2[2] L: MOV AL,[SI] MOV [DI],AL CMP BYTE PTR [DI],'a' JNB M OR BYTE PTR [DI],00100000B M: INC DI INC SI N: LOOP L MOV BYTE PTR [DI],'$' LEA DX,BUF2 MOV AH,09H INT 21H MOV AX,4C00H INT 21H CODE ENDS END

7. 请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。

DATA SEGMENT BUF1 DB 0FFH DB ? DB 0FFH DUP('?') BUF2 DB 0DH,0AH,0FDH DUP('?') DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX LEA DX,BUF1 MOV AH,0AH INT 21H MOV CX,0

MOV CL,BUF1[1] LEA SI,BUF1[2] LEA DI,BUF2[2] L:

CMP BYTE PTR [SI],'A' JNB M

MOV AL,[SI] MOV [DI],AL INC SI INC DI JMP NEXT M:

CMP BYTE PTR [SI],'z' JNA N

MOV AL,[SI] MOV [DI],AL INC SI INC DI JMP NEXT N:

CMP BYTE PTR [SI],'a' JB H INC SI JMP NEXT H:

CMP BYTE PTR [SI],'Z' JA O INC SI JMP NEXT O:

MOV AL,[SI] MOV [DI],AL INC SI INC DI JMP NEXT NEXT:

LOOP L MOV BYTE PTR [DI],'$' LEA DX,BUF2 MOV AH,09H INT 21H MOV AX,4C00H INT 21H CODE ENDS END

8. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其修改为disk, 并在显示器上显示。

DATAS SEGMENT BUF DB 05H DB ?

DB 05H DUP('?') LIB 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,'text','$' REPLACE DB 'disk' DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,ES:DATAS START:

MOV AX,DATAS MOV DS,AX MOV ES,AX LEA DX,BUF MOV AH,0AH INT 21H

LEA SI,BUF[2] LEA DI,LIB[2] MOV BX,DI MOV CX,10 L:

CLD PUSH CX MOV CX,4 REPZ CMPSB JNZ N POP CX MOV SI,BX

LEA DI,REPLACE MOV CX,4 M:

MOV AL,[DI] MOV [SI],AL INC DI INC SI LOOP M JMP EXIT N:

ADD BX,6 MOV DI,BX LEA SI,BUF[2] LOOP L EXIT:

LEA DX,LIB MOV AH,09H INT 21H

MOV AH,4CH INT 21H CODES ENDS END START

9. 现有一组字符串为ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII大小排序,并在显示器上显示。 DATA SEGMENT LIB DB 'ram',0DH,0AH DB 'yes',0DH,0AH DB 'red',0DH,0AH DB 'the',0DH,0AH DB 'get',0DH,0AH DB 'for',0DH,0AH DB 'and',0DH,0AH DB 'key',0DH,0AH DB 'not',0DH,0AH DB 'may',0DH,0AH,'$' DATA ENDS


北京理工大学汇编上机试题和代码(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:长征知识竞赛题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: