欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

江编最后一个程序

程序员文章站 2022-05-08 19:14:34
...

DATAS SEGMENT
msg db "Please input text : ",'$'
buf db 15
db ?
b2 db 15 dup(?)
db 13,10,'$'
result db 13,10,"the result is:",'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX

;;;;;;;;;;; BEGIN ;;;;;;;;;;;;;;;;;

mov ah, 9
mov dx,offset msg
int 21h ;display the msg:Please input:

mov ah, 0ah
mov dx,offset buf ;wait for input and save the text to the buf
int 21h

mov si,offset buf
inc si
xor cx,cx
mov cl,[si]

mov dl,cl
mov ah,2
;int 21h

mov dl,30h
compare: ;loop to compare to 0 and 9
inc si
mov al,[si]
cmp al,39h ;big than 9
ja plus
cmp al,30h ;low than 0
jb plus
jmp again
plus:
inc dl ;count ++
again:
loop compare ;loop again
mov cl,dl
mov ah,9
mov dx,offset result
int 21h ;output information: the result is

mov ah,2
mov dl,cl
int 21h ;output the count

;;;;;;;;;;;;;; END ;;;;;;;;;;;;;;

MOV AH,4CH
INT 21H ;program exit to dos
CODES ENDS
END START
相关标签: DOS

上一篇: 二分查找

下一篇: 求排列的逆序数