从键盘输入一系列以$为结束符的字符串,其中非数字字符计数,并显示出计数结果
这是IBM-pc汇编语言程序设计上的第5章第11题,我的程序错在那里啊?请各位高手给个指点哈..先谢了!!!;从键盘输入一系列以$为结束符的字符串,
;然后对其中非数字字符计数,
;并显示出计数结果。
assume cs:code,ds:data
data segment
db 100 dup(0)
data ends
code segment
start:
mov ax,data
mov ds,ax
sub bx,bx
sub dx,dx
mov ax,07h;调用7号功能
int 21h
mov ds:,al
cmp al,'$'
je s
inc bx
cmp al,'0'
jl s1
cmp al,'9'
jg s1
jmp near ptr start
s1:
inc dx;用dx记录符合要求的数
ret
s:
add dl,30h
mov ax,2h
int 21h
mov ah,4ch
int 21h
code ends
end start
部分代码:
当你输入的字符数大于10个时,你要进行转换,如25
分别显示十位,个位
data segment
STR db 100 dup(0)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
sub bx,bx
sub dl,dl
again: mov ah,01h;调用1号功能
int 21h
mov ds:,al
cmp al,'$'
je s
inc bx
cmp al,'0'
jl s1
cmp al,'9'
jg s1
jmp again
s1:
inc dl;用dx记录符合要求的数
jmp again
s:
add dl,30h
mov ah,2h
int 21h
mov ah,4ch
int 21h
code ends
end start
虽然不能回答你的问题 但是沙发是我的了
页:
[1]