?? xiaostr.asm
字號(hào):
xianshu macro
local chuli,chuli2,quit
push dx
mov ah,02
cmp dl,0aH
jnc chuli
add dl,30H
int 21H
jmp quit
chuli:cmp dl,0fh
jnc chuli2
sub dl,0aH
mov cl,dl
mov dl,31H
int 21H
mov dl,cl
add dl,30H
int 21H
jmp quit
chuli2:mov al,dl
mov dl,31H
int 21H
mov dl,cl
add dl,36H
int 21H
quit:mov dl,0dH
int 21H
mov dl,0aH
int 21H
pop dx
ENDM
DATAS segment
Str db 13,10,20 dup(?)
shu db 0
zi db 0
qi db 0
Str1 db "The deleted letter's number:",'$'
Str2 db " The total number: ",'$'
Str3 db " The letter's number: ",'$'
Str4 db " The figure's number: ",'$'
Str5 db " The new string: ",'$'
DATAS ends
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
main proc far
START:
MOV AX,DATAS
MOV DS,AX
mov si,0
getchar1:mov ah,01
int 21H
cmp al,0dH
jz xianshi
cmp al,30H
JB daxie
cmp al,3aH
JNB daxie
inc shu
jmp getchar2
daxie:cmp al,41H
JB qita
cmp al,5aH
JNB xiaoxie
inc zi
jmp getchar2
xiaoxie:cmp al,61H
JB qita
cmp al,7aH
JNB qita
inc zi
jmp getchar2
qita:inc qi
jmp getchar1
getchar2:mov Str[si],al
inc si
cmp si,20
jnz getchar1
xianshi: mov dl,0aH
mov ah,02H
int 21H
inc si
mov Str[si],'$'
lea dx,Str4
mov ah,9
int 21H
mov dl,shu
xianshu
lea dx,Str3
mov ah,9
int 21H
mov dl,zi
xianshu
lea dx,Str1
mov ah,9
int 21H
mov dl,qi
xianshu
lea dx,Str2
mov ah,9
int 21H
mov dx,si
sub dh,dh
dec dl
xianshu
lea dx,Str5
mov ah,9
int 21H
lea dx,Str
mov ah,09
int 21H
mov ax,4c00H
int 21H
main endp
CODES ends
END START
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -