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

📄 l4-82.asm

📁 汇编经典例程,是学习微机原理的好帮手,包括循环 分支等结构
💻 ASM
字号:
STACK SEGMENT
	STR DW 50 DUP(?)
STACK ENDS
DATA SEGMENT
Frequency	DW  330,330,349,392,392,349,330,294
		DW  262,262,294,330,330,294,294
		DW  330,330,349,392,392,349,330,294
		DW  262,262,294,330,294,262,262	     
		DW  294,294,330,262,294,330,349,330,262
		DW  294,330,249,330,294,262,294,196
		DW  330,330,349,392,392,349,330,349,294
		DW  262,262,294,330,294,262,262,0	 
Time		DW  6000,6000,6000,6000,6000,6000,6000,6000
		DW  6000,6000,6000,6000,12000,3000,9000
		DW  6000,6000,6000,6000,6000,6000,6000,6000
		DW  6000,6000,6000,6000,12000,3000,9000
		DW  6000,6000,6000,6000,6000,3000,3000,6000,6000
		DW  6000,6000,6000,6000,12000,3000,9000
DATA ENDS
CODE SEGMENT
	ASSUME SS:STACK,CS:CODE,DS:DATA
START:	MOV AX,STACK
	MOV SS,AX
	MOV AX,DATA
	MOV DS,AX
	MOV SI,OFFSET Frequency
	MOV BP,OFFSET Time
        CALL PLAY
	MOV AH,4CH
	INT 21H
PLAY PROC
FREQ:	MOV DI,[SI]
	CMP DI,0
	JE ENDPLAY
	MOV BX,DS:[BP]
	CALL SOUND
	ADD SI,2
	ADD BP,2
	JMP FREQ
ENDPLAY:RET
PLAY ENDP
SOUND PROC
	MOV AL,0B4H
	OUT 43H,AL
	MOV DX,14H
	MOV AX,4F38H
	DIV DI
	OUT 42H,AL
	MOV AL,AH
	OUT 42H,AL
	IN AL,61H
	MOV AH,AL
	OR AL,3
        OUT 61H,AL
WAITING:MOV CX,0CFFFH
DELAY:	LOOP DELAY
	DEC BX
	JNZ WAITING
	MOV AL,AH
	OUT 61H,AL
	RET
SOUND ENDP
CODE ENDS
END START

⌨️ 快捷键说明

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