用汇编语言编程:输入一串数字字母字符串,把其中的数字去掉,把大写改小写,小写改大写,显示在屏幕上。
如:
输入:15fswSWEE78522sdDAAD
输出:FSWsweeSDdaad
;=============================================
下列程序符合题目要求:
DATA SEGMENT
MSG1 DB 13, 10, 'Input a STR : $'
MSG2 DB 13, 10, 'The STR is: $'
I1_L DB 100
I1_N DB ?
I1_B DB 100 DUP (?)
I2_B DB 100 DUP (?)
DATA ENDS
;---------------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
LEA DX, MSG1
MOV AH, 9
INT 21H
LEA DX, I1_L
MOV AH, 10
INT 21H
;---------------------------------------
LEA SI, I1_B
LEA DI, I2_B
MOV CL, I1_N
MOV CH, 0
LOP:
MOV AL, [SI]
CMP AL, 'A'
JB NEXT
CMP AL, 'z'
JA NEXT
CMP AL, 'Z'
JB TO_XXX
CMP AL, 'a'
JB NEXT
TO_XXX:
XOR AL, 00100000B
MOV [DI], AL
INC DI
NEXT:
INC SI
LOOP LOP
MOV BYTE PTR [DI], '$'
;---------------------------------------
DISP:
LEA DX, MSG2
MOV AH, 9
INT 21H
LEA DX, I2_B
MOV AH, 9
INT 21H
;---------------------------------------
MOV AH, 4CH
INT 21H
CODE ENDS
END START
;=============================================
程序运行后,将以下列形式显示:
C:\MASM>z
Input a STR : skdpa9293fa okq pPOKSFDPKPASP
The STR is: SKDPAFAOKQPpoksfdpkpasp
;=============================================
回答者: 做而论道 | 十五级 采纳率:43% 名人 达人
回答时间:2011-12-10 15:59
原题网址:http://zhidao.baidu.com/question/352969520.html
提问者:蒋明俊910823 | 悬赏分:15 | 离投票结束还有 3 天 23 小时
后记:本程序,是可以满足题目要求的,简单的实验一下即可知道。
但是提问者,却把判别正误的责任推给了网友,让大家来投票。
表面上是尊重网友意见,实际上是把不明真相的网友推向了不义的境地。
;=============================================