組合語言: 從鍵盤上輸入一系列以$為結束符的字串,然後對其中的非數字字元計數,
阿新 • • 發佈:2019-02-11
從鍵盤上輸入一系列以$為結束符的字串,然後對其中的非數字字元計數,並顯示 計數結果。
data segment
buf db 101,?,101 dup (?)
data ends
stack segment stack
dw 20h dup(?)
top label word
stack ends
code segment
assume ds:data,cs:code,ss:stack
p proc far
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
lea sp,top
;輸入到緩衝區
lea dx,buf
mov ah,0ah
int 21h
;cx=輸入的個數 si=指向緩衝區的開頭
lea si,buf
inc si
mov cx,[si]
xor bx,bx
l1: inc si
cmp BYTE PTR[si],'0'
jb l1
cmp BYTE PTR[si],'9'
ja l1
inc bl
loop l1
;輸出結果
mov cx,8
input:
rol bl,1
mov dl,bl
and dl,1
add dl,30h
mov ah,02h
int 21h
loop input
exit:
mov ah,4ch
int 21h
p endp
code ends
end p