| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 658 人关注过本帖
标题:[求助]初学者求教--一个编程题
取消只看楼主 加入收藏
leon2123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-22
收藏
 问题点数:0 回复次数:0 
[求助]初学者求教--一个编程题
要求编程:
程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),按数字及其它字符分类计数,然后将结果存入以DIGIT和OTHER为名的存储单元中,并将数字(数码本身的数值)之和存入以SUM为名的存储单元中。

我的程序:
DATA SEGMENT
CRLF DB 13,10,'$'
STRPAR LABEL BYTE ;缓冲区标志
MAXLEN DB 80 ;缓冲区最大空间
strlen db ? ;实际输入个数
BUFFER DB 80 DUP(?) ;缓存输入的字符串
msg db 40 dup(?),13,10,'$' ;存字符串
LEN DB ? ;存字符串的长度
SUM DW ? ;存数字之和
DIGIT DB 0
OTHER DB 0
INMSG DB 'please input a string:',13,10,'$' ;提示输入的信息
DATA ENDS
CODE SEGMENT
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov es,ax
lea dx,inmsg
mov ah,09
int 21h
lea dx,strpar ;输入字符串到缓冲区
mov ah,0ah
int 21h
mov bl,strlen
MOV LEN,BL ;字符个数送len
LEA SI,BUFFER ;把输入的字符串送到msg
lea di,msg
cld
mov cx,40
REP MOVSB
;计算各数字之和
mov bx,0
lea si,msg
MOV CL,LEN
mov ch,0
LP:
mov al,[si]
cmp al,30h
jb TOLOOP
cmp al,39h
ja TOLOOP
sub al,30h
mov ah,0
add bx,ax
TOLOOP:
inc si
loop LP
MOV SUM,BX
MOV AH,09
INT 21H
;字符分类计数
S: MOV AL,[BX]
cmp al,'0' ;当扫描字符为数字时
JB OTHERS
cmp al,'9'
JA OTHERS
inc digit ;是数字时则数字计数器加1
jmp short next ;直接检查下一个字符
OTHERS: INC OTHER ;是其它字符时则将其它字符计数器加1
NEXT: INC BX
loop s
mov ah,09
int 21h
CODE ENDS
END START

(不好意思,写得有点乱)

已经生成了EXE文件,并且运行了
但是我怎么查看三个存储单元:digit,other,sum的值是多少?

[此贴子已经被作者于2006-8-22 20:49:23编辑过]

搜索更多相关主题的帖子: 数码 字符 数字 
2006-08-22 20:47
快速回复:[求助]初学者求教--一个编程题
数据加载中...
 
   



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

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