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 + -
显示快捷键?