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

📄 123-3.asm

📁 这是汇编程序的四个实验.对课程设计十分有用.是汇编初学者的好的例子.
💻 ASM
字号:
DSMG	 SEGMENT
	 DIGIT 	DB 0
	 LETTER DB 0
	 OTHER 	DB 0
	 SUM    DB 0
	 TAB 	DB '0123456789ABCDEF'
	 CLOSE  DB 'H',13,10,'$'
	 MES1   DB 'OTHER:','$'
         MES2   DB 'DIGIT:','$'
	 MES3   DB 'LETTER:','$'
	 MES4   DB 'SUM:','$'
	 MES5   DB 'Input :','$'
	 CRLF   DB 13,10,'$'	 	 
DSMG	 ENDS

CSMG	 SEGMENT

MAIN	 PROC	FAR
	 ASSUME CS:CSMG,DS:DSMG	 
START:	 PUSH DS
	 SUB  AX,AX
	 PUSH AX
	 MOV  AX,DSMG
	 MOV  DS,AX
	 LEA  DX,MES5
     MOV AH,9
     INT 21H
READ:	 MOV  CL,80
	 CMP  SUM,CL
	 JNC  EXIT 
	 MOV  AH,01H
	 INT  21H
	 CMP  AL,0DH
	 JZ   EXIT
	 CMP  AL,30H
	 JC   OTHERCO
	 CMP  AL,39H
	 JBE  DIGITCO
	 CMP  AL,41H
	 JC   OTHERCO	
	 CMP  AL,5AH
	 JBE  LETTERCO
	 CMP  AL,61H
	 JC   OTHERCO
	 CMP  AL,7AH
	 JBE  LETTERCO
OTHERCO: ADD  OTHER,1
         ADD  SUM,1
	 JMP  READ
LETTERCO:ADD  LETTER,1
	 ADD  SUM,1
	 JMP  READ
DIGITCO: ADD  DIGIT,1
	 ADD  SUM,1
	 JMP  READ
EXIT:	 LEA  DX,CRLF
	 MOV  AH,09H
	 INT  21H
	 MOV  CH,SUM
	 LEA  DX,MES4
	 CALL MATH
	 MOV  CH,OTHER
	 LEA  DX,MES1
	 CALL MATH
	 MOV  CH,DIGIT
         LEA  DX,MES2
	 CALL MATH
	 LEA  DX,MES3
	 MOV  CH,LETTER
	 CALL MATH
	 RET
	 MAIN ENDP

MATH     PROC   NEAR  ;二进制转十六进制子程序

	 PUSH  AX
	 PUSH  BX
	 PUSH  CX
	 PUSH  DX
	 MOV   AH,09H
	 INT   21H
         MOV   BL,CH
	 MOV   CL,4
	 ROL   BL,CL
         AND   BL,0FH
	 MOV   BH,00H
         MOV   AH,02H
	 MOV   DL,TAB[BX]
	 INT   21H   
	 MOV   BL,CH
	 AND   BL,0FH
         MOV   BH,00H
	 MOV   DL,TAB[BX]
	 MOV   AH,02H
	 INT   21H
	 MOV   AH,09H
	 LEA   DX,CLOSE
	 INT   21H
	 POP   DX
	 POP   CX
	 POP   BX
	 POP   AX
	 RET

MATH	 ENDP

	 CSMG ENDS
	 END  START

⌨️ 快捷键说明

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