汇编上机题目代码(2)

2020-04-03 11:33

LOOP AGAIN5 TO3: NOT CX RET COUNTLEN ENDP

CODE ENDS END MAIN

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

DATA SEGMENT BUF1 DB 20 DB ?

BUF4 DB 20 DUP(?) BUF3 DB 13,10 BUF2 DB 20 DUP(?) COUN DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE ,ES:DATA,DS:DATA

MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX

CALL INPUT CALL LOCATE CALL PREPARE

CALL OUTPUT MOV AX,4C00H INT 21H MAIN ENDP

INPUT PROC

MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RET INPUT ENDP

LOCATE PROC LEA BX,BUF1+2 DEC BX AGAIN2:INC BX

CMP BYTE PTR [BX],'A' JB TO5

CMP BYTE PTR [BX],'Z' JAE TO5 CALL CHANGE

TO5: CMP BYTE PTR [BX],0DH JNZ AGAIN2 RET LOCATE ENDP

OUTPUT PROC

LEA DX,BUF1

MOV AH,9

6

INT 21H RET OUTPUT ENDP

CHANGE PROC

ADD BYTE PTR [BX],20H RET CHANGE ENDP

PREPARE PROC CALL COUNTLEN LEA SI,BUF4 ADD SI,CX

MOV BYTE PTR [SI],'$' LEA SI,BUF1 MOV [SI],0D0AH RET PREPARE ENDP

COUNTLEN PROC MOV CX,0FFFFH LEA SI,BUF1+2

AGAIN5: CMP BYTE PTR [SI],0DH JZ TO3 INC SI LOOP AGAIN5 TO3: NOT CX RET COUNTLEN ENDP

CODE ENDS

END MAIN

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

DATA SEGMENT BUF1 DB 20 DB ?

BUF4 DB 20 DUP(?) BUF3 DB 13,10 BUF2 DB 20 DUP(?) COUN DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE ,ES:DATA,DS:DATA

MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX

CALL INPUT CALL LOCATE CALL PREPARE CALL OUTPUT MOV AX,4C00H INT 21H MAIN ENDP

7

INPUT PROC

MOV DX,OFFSET BUF1 MOV AH,0AH INT 21H RET INPUT ENDP

LOCATE PROC LEA BX,BUF1+2 DEC BX AGAIN2:INC BX

CMP BYTE PTR [BX],'A' JB TO5

CMP BYTE PTR [BX],'z' JA TO5

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 RET LOCATE ENDP

OUTPUT PROC

LEA DX,BUF1

MOV AH,9

INT 21H RET OUTPUT ENDP

DELETE 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 AGAIN3 TO2: 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 RET PREPARE ENDP

COUNTLEN PROC MOV CX,0FFFFH LEA SI,BUF1+2

AGAIN5: CMP BYTE PTR [SI],0DH JZ TO3

8

INC SI LOOP AGAIN5 TO3: NOT CX RET COUNTLEN ENDP

CODE ENDS END MAIN

7.现有一组字符串为

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

DATA SEGMENT OUT1 DB 13,10

BUF1 DB 'data name time file code path user exit quit text$' BUF2 DB 5 DB ?

BUF DB 5 DUP(?) BUF0 DB 'disk' DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX

CALL INPUT CALL FIND CALL OUTPUT MOV AX,4C00H INT 21H MAIN ENDP

INPUT PROC

MOV DX,OFFSET BUF2 MOV AH,0AH INT 21H RET INPUT ENDP

OUTPUT PROC

LEA DX,OUT1

MOV AH,9 INT 21H RET OUTPUT ENDP

FIND PROC

LEA BX,BUF1

MOV CX,10 AGAIN: MOV SI,BX LEA DI,BUF PUSH CX

MOV CX,4

REPZ CMPSB

9

JZ TO JMP TP2 TO: CALL CHANGE TP2 : POP CX ADD BX,5 LOOP AGAIN

RET

FIND ENDP

CHANGE PROC MOV AX,WORD PTR buf0 MOV WORD PTR [BX],AX MOV AX,WORD PTR buf0+2 MOV WORD PTR [BX+2],AX

RET

CHANGE ENDP

CODE ENDS END MAIN

8.现有一组字符串为

ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII大小排序,并在显示器上显示。

DATA SEGMENT

BUF1 DB 'ram yes red the get for and key not may $' MIN DB 4 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,ES:DATA,DS:DATA

MAIN PROC FAR MOV AX,DATA MOV ES,AX MOV DS,AX

CALL INORDER CALL OUTPUT

MOV AX,4C00H INT 21H MAIN ENDP

OUTPUT PROC LEA DX,BUF1 MOV AH,09H INT 21H

RET

OUTPUT ENDP

INORDER PROC MOV SI,0

MOV CX,10

AGAIN: MOV BX,SI MOV DI,SI ADD DI,4 PUSH CX

MOV CX,10

MOV AX,DI DIV MIN

10


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

下一篇:综合知识

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

马上注册会员

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