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

📄 l4-77.asm

📁 汇编经典例程,是学习微机原理的好帮手,包括循环 分支等结构
💻 ASM
字号:
DATA SEGMENT
P1  DB 'Input the number:(0-6)','$'
P2  DB  'The result is:','$'
CR  DB  0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
	MOV DS,AX
	MOV DX, OFFSET P1
	MOV AH,9
	INT 21H
	LEA DX, CR
	MOV AH,9
	INT 21H
	MOV AH,1
	INT 21H
   	AND AL,0FH
	MOV BL,AL
	LEA DX, CR
	MOV AH,9
	INT 21H
	MOV DX,0
	MOV AL,BL
	CALL FACT
	MOV AX,DX
	CALL B2TOBCD
	MOV BX,AX
	MOV AH,9
	LEA DX,P2
        INT 21H
	LEA DX, CR
	MOV AH,9
	INT 21H
	CALL DISP
	MOV AH,4CH
	INT 21H
FACT PROC 
	CMP AL,0
	JNZ CHN
	MOV DL,1
	RET
CHN:	PUSH AX
	DEC AL
	CALL FACT
	POP AX
	MUL DL
	MOV DX,AX
	RET
FACT ENDP
B2TOBCD  PROC
	CMP  AX, 9999
	JBE  TRAN
	STC
	JMP  EXIT
TRAN:	PUSH CX
	PUSH DX
	SUB  DX,DX
	MOV  CX,1000
	DIV  CX
	XCHG AX,DX
	MOV CL,4
	SHL DX,CL
	MOV CL,100
	DIV CL
	ADD DL,AL
	MOV CL,4
	SHL DX,CL
	XCHG AL,AH
	SUB AH,AH
	MOV CL,10
	DIV CL
	ADD DL,AL
	MOV CL,4
	SHL DX,CL
	ADD DL,AH
	MOV AX,DX
	POP DX
	POP CX
EXIT:	RET 
B2TOBCD  ENDP	
DISP PROC
	PUSH AX
	PUSH CX
	MOV CH,4
	MOV CL,4
LZ:	ROL BX,CL
	MOV DL,BL
	AND DL,0FH
	CMP DL,0
	JNE LNZ
	DEC CH
	JNZ LZ
LL:	ROL BX,CL
	MOV DL,BL
	AND DL,0FH
LNZ:	ADD DL,30H
	MOV AH,2
	INT 21H
	DEC CH
	JNZ LL
	POP CX
	POP AX
	RET
DISP ENDP
CODE ENDS
END START

⌨️ 快捷键说明

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