?? 68.asm
字號(hào):
data segment
table db 30 dup(?)
n dw 30
char db ?
data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov si,0 ;地址指針
mov cx,n
input:mov ah,1
int 21h ;從鍵盤(pán)接受一個(gè)字符
mov table[si],al ;將其存放在數(shù)組table中
inc si
loop input
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h ;輸出換行回車(chē)符
find: mov ah,1
int 21h ;從鍵盤(pán)輸入字符char
mov char,al
mov dl,0dh ;輸出換行回車(chē)
mov ah,2
int 21h
mov dl,0ah
int 21h
mov dl,char ;在下一行輸出字符char
int 21h
call count ;調(diào)用子程序count
cmp dl,0 ;出口參數(shù)dl
je exit ;若字符串中無(wú)該字符,結(jié)束程序
add dl,30h ;否則將出現(xiàn)次數(shù)轉(zhuǎn)換成相應(yīng)的ASCII值
cmp dl,39h
jna output
add dl,7
output:mov ah,2 ;輸出char在字符串中出現(xiàn)的次數(shù)
int 21h
jmp find
exit: ret
main endp
count proc near
push si
push cx
push ax
mov si,0
mov cx,n
mov al,char
c1: cmp al,table[si]
jne c2
inc dl ;dl是出口參數(shù),統(tǒng)計(jì)char在字符串中出現(xiàn)的次數(shù)
c2: inc si
loop c1
pop ax
pop cx
pop si
ret
count endp
code ends
end start
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -