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

📄 sy4.asm

📁 从键盘输入并显示实验
💻 ASM
字号:

DATA	SEGMENT

MESS1	DB	'Please input Hexadecimal number',0DH,0AH,'$'
MESS2	DB	'Input error',0DH,0AH,'$'
	
DATA	ENDS

CODE	SEGMENT

ASSUME	CS:CODE,DS:DATA
START:	MOV AX,DATA
	MOV DS,AX
	MOV AH,09H
	MOV DX,OFFSET MESS1
	INT 21H    		
	CALL GETNUM		
	MOV CX,16
R:	ROL BX,1
	MOV DL,BL
	AND DL,01H
	ADD DL,30H
	MOV AH,2
	INT 21H
	LOOP R
STOP:	MOV AH,4CH
	INT 21H
GETNUM	proc near
	MOV BX,0
	MOV CX,0
NEW:	PUSH CX
	MOV AH,1
	INT 21H
	CMP AL,0DH
	JZ CRLF

	
	CMP AL,30H
	JB WRONG
	CMP AL,39H
	JBE ADDTO1 
	CMP AL,41H
	JB WRONG
	CMP AL,46H
	JBE ADDTO2
	CMP AL,61H
	JB WRONG
	CMP AL,66H
	JBE ADDTO3
	JA WRONG

ADDTO1:SUB AL,30H
	JMP ADDTO
ADDTO2:SUB AL,37H
 	JMP ADDTO
ADDTO3:SUB AL,57H
	JMP ADDTO
	
ADDTO:	MOV CL,4
	SHL BX,CL
	MOV AH,0
	ADD BX,AX
	POP CX
	INC CX
	CMP CX,4
	JNZ NEW
	JMP CRLF
WRONG:	LEA DX,MESS2
	MOV AH,9
	INT 21H
	JMP NEW
	

CRLF:	mov ah,2
        mov dl,0dh
        int 21h
        mov ah,2
        mov dl,0ah
        int 21h
        ret
getnum 	endp
CODE 	ENDS
	END START
	
	



⌨️ 快捷键说明

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