sound.asm

来自「汇编学习经典,DOS环境可在 win2000下使用」· 汇编 代码 · 共 41 行

ASM
41
字号
;			  第六章  I/O 程序设计
			
;			实验一  发声系统程序设计

;一.实验目的:

;	    掌握最基本的直接控制扬声器发出声音的方法.其原理是通过I/O指令使设

;	备控制寄存器(I/O端口地址为61H)的第1位交替0和1,从而控制开关电路产生一

;	串脉冲波形,这些脉冲经放大后驱动扬声器发出声音.

;二.实验内容:

;	    采用位触发方式编写发声程序.
	
;三.程序清单:
		 	      
;***************************************************************************  		

code	segment

main	proc  far
	assume  cs: code, ds: code
start:	mov  dx,  1000   	    ;脉冲持续时间
	in   al,  61h 
	and  al,  11111100b         ;关掉定时器通道2的门控
sound:	xor  al,  2                 ;触发61H端口第1位
	out  61h, al
	mov  cx,  2500		    ;控制脉宽的计数值
wait1:	loop  wait1			
	dec   dx
	jne  sound
	mov  ax, 4c00h
	int  21h		    ;返回DOS	
main	endp

code	ends
	end  start

;****************************************************************************

⌨️ 快捷键说明

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