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

📄 music.asm

📁 计算机汇编实验:表格显示字符
💻 ASM
字号:
dseg	segment	para	'data'
		dw	0
	mus_f	dw	262,294,330,262,			262,294,330,262,			330,349,392
			dw	330,349,392,				392,440,392,349,330,262,	392,440,392,349,330,262
			dw	294,196,262,				294,196,262
	mus_t	dw	25,	25,	25,	25,				25,	25,	25,	25,				25,	25,	50
			dw	25,	25,	50,					12,	12,	12,	12,	25,	25,		12,	12,	12,	12,	25,	25
			dw	25,	25,	50,					25,	25,	50
	flag	dw	-1
dseg	ends
cseg	segment	para	'data'
	assume	cs:cseg,	ds:dseg
	tone	proc	far
		push	ds
		sub	ax,	ax
		push 	ax
		mov	ax,	dseg
		mov ds,	ax
		
		lea	si,	mus_f
	next:
		lea bp,	mus_t
	freq:
		mov	di, [si]
		cmp	di,	0
		je	end_f
		mov	bx,	ds:[bp]
		
		mov	al,	0b6h
		out	43h,al
		mov	dx, 12h
		mov	ax,	533h*896
		div	di
		out	42h,al
		mov	al,	ah
		out	42h,al
		in	al, 61h
		mov	ah,	al
		or	al, 3
		out	61h,al
	long:
		mov	cx, 2081
	delay:
		loop	delay
		dec	bx
		jnz	long
		mov	al,ah
		out	61h,al
		
		test	flag,1
		jz	lower
		add	si,2
		jmp	cont
	lower:
		sub	si,2
	cont:
		add	bp,2
		jmp	freq
	end_f:
		inc	flag
		jnz	exit
		sub	si,2
		jmp	next
	exit:
		mov al,48h
		out 61h,al
		ret
	tone	endp
cseg	ends
end	tone

⌨️ 快捷键说明

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