1. 程式人生 > >組合語言: 從鍵盤上輸入一系列以$為結束符的字串,然後對其中的非數字字元計數,

組合語言: 從鍵盤上輸入一系列以$為結束符的字串,然後對其中的非數字字元計數,

從鍵盤上輸入一系列以$為結束符的字串,然後對其中的非數字字元計數,並顯示 計數結果。

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