| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 799 人关注过本帖
标题:帮忙看那个程序,怎样改
取消只看楼主 加入收藏
沧声笑
Rank: 1
等 级:新手上路
帖 子:36
专家分:9
注 册:2010-9-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
帮忙看那个程序,怎样改
题目是一个字符串中的数字字符放到NUM,大写字母放到BCHAR ,小写放到LCHAR,其他字符放到OTHER


DATA SEGMENT
STRING   DB '53Aa*#'
NUM      DB ?
BCHAR    DB ?
LCHAR    DB ?
OTHER    DB ?
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
START:   MOV AX,DATA
         MOV DS,AX
         LEA SI,STRING
   AGAIN:MOV AL,[SI]
         CMP AL,30H
         JC L1
         CMP AL,3AH
         JC L2
         CMP AL,41H
         JC L1
         CMP AL,5BH
         JC L3
         CMP AL,61H
         JC L1
         CMP AL,7BH
         JC L4
         MOV OTHER,AL
         INC SI
         JMP AGAIN
      L1:MOV OTHER,AL
         JMP NEXT
      L2:MOV NUM,AL
         JMP NEXT
      L3:MOV BCHAR,AL
         JMP NEXT
      L4:MOV LCHAR,AL
    NEXT:MOV AH,4CH
         INT 21H
CODE ENDS
     END START
我的思路是用  SI+1/2/3 循环去做,但是这样做好像不行,要用指针做吗?

[ 本帖最后由 沧声笑 于 2011-4-6 19:45 编辑 ]
搜索更多相关主题的帖子: 字符串 CODE 
2011-04-06 19:39
沧声笑
Rank: 1
等 级:新手上路
帖 子:36
专家分:9
注 册:2010-9-27
收藏
得分:0 
以下是引用zaixuexi在2011-4-7 00:12:14的发言:

DATA SEGMENT
STRING   DB '53Aa*#'
STRLEN   EQU $-STRING
NUM      DB STRLEN DUP(?)
BCHAR    DB STRLEN DUP(?)
LCHAR    DB STRLEN DUP(?)
OTHER    DB STRLEN DUP(?)
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
START:  
         MOV AX,DATA
         MOV DS,AX
         LEA SI,STRING
         MOV CX,STRLEN
AGAIN:
         MOV AL,[SI]
         CMP AL,30H
         JB  L1
         CMP AL,3AH
         JB  L2
         CMP AL,41H
         JB  L1
         CMP AL,5BH
         JB  L3
         CMP AL,61H
         JB  L1
         CMP AL,7BH
         JB  L4
         MOV [OTHER+SI],AL
         JMP AGAIN
L1:
         MOV [OTHER+SI],AL
         JMP NEXT
L2:
         MOV [NUM+SI],AL
         JMP NEXT
L3:
         MOV ,AL
         JMP NEXT
L4:
         MOV [LCHAR+SI],AL
NEXT:
         INC SI
         LOOP AGAIN         
         MOV AH,4CH
         INT 21H
CODE ENDS
     END START

貌似没用到   MOV CX,STRLEN  ,另外 STRLEN   EQU $-STRING这句是什么意思,看不太懂

2011-04-08 22:31
快速回复:帮忙看那个程序,怎样改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013169 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved