用80x86汇编语言编程--过滤数字符号,并且大小写转换

用汇编语言编程:输入一串数字字母字符串,把其中的数字去掉,把大写改小写,小写改大写,显示在屏幕上。
如:
输入: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 小时

后记:本程序,是可以满足题目要求的,简单的实验一下即可知道。
   但是提问者,却把判别正误的责任推给了网友,让大家来投票。
   表面上是尊重网友意见,实际上是把不明真相的网友推向了不义的境地。
;=============================================

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值