⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tongji.asm

📁 用汇编语言写的字符统计程序 用汇编语言写的字符统计程序
💻 ASM
字号:
MLENGTH=128
DSEG  SEGMENT	
BUFF DB MLENGTH
DB ?
DB MLENGTH DUP (0)
MESS0  DB'PLEASE INPUT: $'
MESS1 DB 'Length=  $'
MESS2 DB' X=$'
MESS3 DB' Y=$'
DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START:MOV AX,DSEG
MOV  DS,AX
MOV  DX,OFFSET MESS0
CALL DISPMESS
MOV  DX,OFFSET BUFF
MOV  AH,10
INT 21H
CALL NEWLINE
MOV  BH,0
MOV BL,0
MOV  CL,BUFF+1
MOV   CH ,0
JCXZ   COK
MOV   SI,OFFSET  BUFF+2
AGAIN: MOV AL,[SI]
INC  SI
CMP  AL,'0'
JB NEXT
CMP AL,'9'
JA  NODEC
INC   BH
JMP   SHORT  NEXT
NODEC: OR  AL,20H
CMP   AL,'a'
JB  NEXT
CMP AL, 'z'
JA NEXT
INC   BL
NEXT: LOOP  AGAIN
COK:MOV  DX,OFFSET MESS1
CALL  DISPMESS
MOV  AL,BUFF+1
XOR  AH,AH
CALL DISPAL   ;字符串长度
CALL  NEWLINE
;
MOV AH,7
INT 21H
;
MOV   DX,OFFSET MESS2
CALL  DISPMESS
MOV   AL,BH
XOR   AH,AH
CALL DISPAL       ;数字个数
CALL NEWLINE
;
MOV AH,7
INT 21H
;
MOV  DX,OFFSET MESS3
CALL  DISPMESS
MOV  AL,BL
XOR  AH,AH
CALL  DISPAL
CALL  NEWLINE
;
MOV AH,7
INT 21H
;
MOV  AX,4C00H
INT 21H
DISPAL   PROC
MOV  CX,3
MOV   DL,10
DISP1: DIV DL
XCHG  AH,AL
ADD  AL , '0'
PUSH  AX
XCHG  AH,AL
MOV  AH,0
LOOP DISP1
MOV  CX,3
DISP2:POP DX
CALL  ECHOCH
LOOP  DISP2
RET
DISPAL  ENDP

DISPMESS PROC
MOV  AH,9
INT 21H
RET
DISPMESS  ENDP
ECHOCH   PROC
MOV  AH,2
INT  21H
RET
ECHOCH  ENDP
NEWLINE PROC
PUSH AX
PUSH DX
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
POP DX
POP AX
RET 
NEWLINE ENDP
CSEG ENDS
END  START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -