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

📄 form.asm

📁 4.asm…… 响铃程序
💻 ASM
字号:
	.model small
	.stack
	.data
str1	db 0dh,0ah,'Please give a choice:',0dh,0ah,'$'
str2	db '0-exit,1-[],2-|\,3-\|',0dh,0ah,'$'
shift	db 0dh,0ah,'$'
	.code
	.startup
	
go:	mov	ah,9
	lea	dx,str1
	int	21h
	mov	ah,9
	lea	dx,str2
	int	21h
	
first:	mov	ah,1
	int	21h
	cmp	al,'0'
	jz	last
	cmp	al,'1'
	jz	loop1
	cmp	al,'2'
	jz	loop2
	cmp	al,'3'
	jz	loop3
	mov	ah,9
	lea	dx,shift
	int	21h
	jmp	first
	
loop1:	mov	ah,9
	lea	dx,shift
	int	21h
	call	form1
	jmp	go
	
loop2:	mov	ah,9
	lea	dx,shift
	int	21h
	call	form2
	jmp	go
	
loop3:	mov	ah,9
	lea	dx,shift
	int	21h
	call	form3
	jmp	go
	
last:	.exit   0
	
form1	proc
	push	ax
	push	bx
	push	cx
	push	dx
	mov	cl,1h
	mov	ch,cl
	mov	bl,0h
do1:	mov	ah,2
	mov	bh,ch
	add	bh,30h
	mov	dl,bh
	int	21h
	mov	ah,2
	mov	dl,'*'
	int	21h
	mov	ah,2
	mov	bh,cl
	add	bh,30h
	mov	dl,bh
	int	21h
	mov	ah,2
	mov	dl,'='
	int	21h
	mov	al,ch
	mul	cl
	mov	bh,10
	div	bh
	mov	dh,ah
	cmp	al,0
	jz	crlf1
	mov	ah,2
	mov	dl,al
	add	dl,30h
	int	21h
	jmp	next1
crlf1:	mov	ah,2
	mov	dl,' '
	int	21h
next1:	mov	ah,2
	mov	dl,dh
	add	dl,30h
	int	21h
	mov	ah,2
	mov	dl,' '
	int	21h
	inc	bl
	cmp	bl,9h
	jnz	a1
	mov	bl,0
	mov	ah,9
	lea	dx,shift
	int	21h
a1:	cmp	ch,cl
	jz	b1
	inc	cl
	jmp	do1
b1:	inc	ch
	cmp	ch,9h
	ja	c1
	mov	cl,1h
	jmp	do1
c1:	pop	dx
	pop	cx
	pop	bx
	pop	ax
	ret
form1	endp
	
form2	proc
	push	ax
	push	bx
	push	cx
	push	dx
	mov	cl,1h
	mov	ch,cl
do2:	mov	ah,2
	mov	bh,ch
	add	bh,30h
	mov	dl,bh
	int	21h
	mov	ah,2
	mov	dl,'*'
	int	21h
	mov	ah,2
	mov	bh,cl
	add	bh,30h
	mov	dl,bh
	int	21h
	mov	ah,2
	mov	dl,'='
	int	21h
	mov	al,ch
	mul	cl
	mov	bh,10
	div	bh
	mov	dh,ah
	cmp	al,0
	jz	crlf2
	mov	ah,2
	mov	dl,al
	add	dl,30h
	int	21h
	jmp	next2
crlf2:	mov	ah,2
	mov	dl,' '
	int	21h
next2:	mov	ah,2
	mov	dl,dh
	add	dl,30h
	int	21h
	mov	ah,2
	mov	dl,' '
	int	21h
	cmp	ch,cl
	jz	a2
	inc	cl
	jmp	do2
a2:	mov	ah,9
	lea	dx,shift
	int	21h
	inc	ch
	cmp	ch,9h
	ja	b2
	mov	cl,1h
	jmp	do2
b2:	pop	dx
	pop	cx
	pop	bx
	pop	ax
	ret
form2	endp
	
form3	proc
	push	ax
	push	bx
	push	cx
	push	dx
	mov	cl,9h
	mov	ch,cl
do3:	mov	ah,2
	mov	bh,ch
	add	bh,30h
	mov	dl,bh
	int	21h
	mov	ah,2
	mov	dl,'*'
	int	21h
	mov	ah,2
	mov	bh,cl
	add	bh,30h
	mov	dl,bh
	int	21h
	mov	ah,2
	mov	dl,'='
	int	21h
	mov	al,ch
	mul	cl
	mov	bh,10
	div	bh
	mov	dh,ah
	cmp	al,0
	jz	crlf3
	mov	ah,2
	mov	dl,al
	add	dl,30h
	int	21h
	jmp	next3
crlf3:	mov	ah,2
	mov	dl,' '
	int	21h
next3:	mov	ah,2
	mov	dl,dh
	add	dl,30h
	int	21h
	mov	ah,2
	mov	dl,' '
	int	21h
	cmp	cl,1h
	jz	a3
	dec	cl
	jmp	do3
a3:	mov	ah,9
	lea	dx,shift
	int	21h
	dec	ch
	cmp	ch,1h
	jb	c3
	mov	cl,ch
	mov	bl,9h
	sub	bl,ch
	mov	al,7h
	mul	bl
	mov	dh,al
b3:	mov	ah,2
	mov	dl,' '
	int	21h
	dec	dh
	cmp	dh,0h
	jnz	b3
	jmp	do3
c3:	pop	dx
	pop	cx
	pop	bx
	pop	ax
	ret
form3	endp
	end

⌨️ 快捷键说明

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