IBM--PC汇编语言编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:03:01
从键盘输入字符,分别统计大,小写和其他的个数,输入$后结束,并将结果输出出来
(所有个数均小于10.$不统计
例如输入aS2Dfs$)

用三个变量存储结果,再调用中断显示出来.
具体提示:用循环获得输入,当输入为$时转到输出结果.
大写字符相当于是>='A' <='Z'
小写字符相当于是>='a' <='z'
否则是其他.
推荐还是自己尝试着写比较好,能学到不少东西,直接拷人家代码就没意思了.
实在写的有困难可以参考教科书.
这个程序比较简单.你应该可以的.

.model small
.data
upper db 0
lower db 0
others db 0
msg1 db 0dh,0ah,'UpperCase=$'
msg2 db 0dh,0ah 'LoserCase=$'
msg3 db 0dh,0ah,'Others=$'
.code

main proc far
mov ax,@data
mov ds,ax

DoInput:
mov ah,1
int 21h
.if(al>='a')&&(al<='z')
inc lower
.elseif (al>='A')&&(al<='Z')
inc upper
.elseif (al=='$')
jmp next
.else
inc others
.endif
jmp DoInput

next:
lea dx,msg1
mov ah,9
int 21h
mov bl,upper
call bindec

lea dx,msg2
mov ah,9
int 21h
mov bl,lower<