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

📄 输入10位bcd码,转换为16进制显示.asm

📁 汇编程序中的数制转换与DOS调用功能的结合
💻 ASM
字号:
DATA SEGMENT
ECH01 DB "INPUT DECIMAL:$"
ECH02 DB "HEX RESULT IS:$"
ECH03 DB "TOO BIG!$"
ECH04 DB "WRONG!please input 10 wei bdc ma!$"
DATA ENDS
CRLF MACRO
        MOV AH,2
        MOV DL,0AH
	INT 21H
	MOV AH,2
	MOV DL,0DH
 	MOV AH,2
	MOV DL,0DH
	INT 21H
	ENDM
CODE SEGMENT
ASSUME CS:CODE
START:  MOV AX,DATA
	MOV DS,AX
REPEAT:	MOV AH,9
	MOV DX,OFFSET ECH01
	INT 21H
	CALL DECBIN
	CRLF
	MOV AH,9
	MOV DX,OFFSET ECH02
	INT 21H
	CALL BINHEX
	CRLF
	JMP REPEAT

DECBIN: MOV BX,0
	MOV SI,0
 	MOV CL,1
NEW:	MOV AH,1
	INT 21H
	SUB AL,30H
	JB  EXIT
	CMP AL,9
	JA  EXIT

	INC SI
	AND SI,1
	CMP SI,0
	JG  JUDGE
	
	
	CBW
	XCHG AX,BX
	MOV CX,0AH
	MUL CX
	JC  ERROR
	XCHG AX,BX
	ADD  BX,AX
	JC ERROR
	JMP NEW
EXIT:   RET
ERROR:	MOV AH,9
	MOV DX,OFFSET ECH03
	INT 21H
	MOV AH,4CH
	INT 21H
JUDGE:	CMP AL,0
	JNG NEW
	MOV AH,9
	MOV DX,OFFSET ECH04
	INT 21H
 	MOV AH,4CH
	INT 21H

BINHEX: MOV CH,4
ROTATE: MOV CL,4
	ROL BX,CL
	MOV DL,BL
	AND DL,0FH
	ADD DL,30H
	CMP DL,3AH
	JL  PRINT
	ADD DL,7
PRINT:  MOV AH,2
	INT 21H
	DEC CH
	JNZ ROTATE
	RET 
CODE ENDS
END START

	

⌨️ 快捷键说明

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