给我一份汇编大作业吧附有源程序代码谢谢大神
1个回答
展开全部
1)从键盘上输入一串字符串(最大长度为80);
2)判断该字符串中是否包含一位小写字母跟着一位大写字母的两位符号?
若是,则保留这些字符,其它情况的字符替换为字符“@”;
3)将上述处理后的字符串显示在屏幕上
做而论道编程如下:
ASSUME CS:CODES, DS:DATAS
DATAS SEGMENT
STR1 DB 81, ?, 81 DUP (?)
STR2 DB 13, 10, 81 DUP ('$')
DATAS ENDS
CODES SEGMENT
START:
MOV AX, DATAS
MOV DS, AX
MOV AH, 10
LEA DX, STR1
INT 21H
MOV BX, 2
LP:
MOV AL, STR1[BX]
CMP AL, 13
JZ DISP
CMP AL, 'A'
JB NEXT1
CMP AL, 'Z'
JA NEXT1
MOV AH, STR1[BX + 1]
CMP AH, 13
JZ NEXT1
CMP AH, 'a'
JB NEXT1
CMP AH, 'z'
JA NEXT1
MOV STR2[BX], AL
MOV STR2[BX + 1], AH
ADD BX, 2
JMP LP
NEXT1:
MOV AL, '@'
MOV STR2[BX], AL
INC BX
JMP LP
DISP:
MOV AH, 9
LEA DX, STR2
INT 21H
EXIT:
MOV AH, 4CH
INT 21H
CODES ENDS
END START
2)判断该字符串中是否包含一位小写字母跟着一位大写字母的两位符号?
若是,则保留这些字符,其它情况的字符替换为字符“@”;
3)将上述处理后的字符串显示在屏幕上
做而论道编程如下:
ASSUME CS:CODES, DS:DATAS
DATAS SEGMENT
STR1 DB 81, ?, 81 DUP (?)
STR2 DB 13, 10, 81 DUP ('$')
DATAS ENDS
CODES SEGMENT
START:
MOV AX, DATAS
MOV DS, AX
MOV AH, 10
LEA DX, STR1
INT 21H
MOV BX, 2
LP:
MOV AL, STR1[BX]
CMP AL, 13
JZ DISP
CMP AL, 'A'
JB NEXT1
CMP AL, 'Z'
JA NEXT1
MOV AH, STR1[BX + 1]
CMP AH, 13
JZ NEXT1
CMP AH, 'a'
JB NEXT1
CMP AH, 'z'
JA NEXT1
MOV STR2[BX], AL
MOV STR2[BX + 1], AH
ADD BX, 2
JMP LP
NEXT1:
MOV AL, '@'
MOV STR2[BX], AL
INC BX
JMP LP
DISP:
MOV AH, 9
LEA DX, STR2
INT 21H
EXIT:
MOV AH, 4CH
INT 21H
CODES ENDS
END START
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询