没有合适的资源?快使用搜索试试~ 我知道了~
接口实验两只老虎演奏
5星 · 超过95%的资源 需积分: 10 13 下载量 25 浏览量
2010-06-28
23:24:39
上传
评论
收藏 4KB TXT 举报
温馨提示
试读
6页
用汇编语言实现接口实验中两只老虎歌曲的演奏
资源推荐
资源详情
资源评论
;*------------------------------------------------------*/
;* Music.asm(音乐发生器接口实验) */
;* 音乐发生器程序Source File */
;* Copyright (c) 2005 by HUST */
;*------------------------------------------------------*/
sstack segment stack
dw 200 dup(?)
sstack ends
data segment
bg db 'Two tigers ...'
db 0ah,0dh
db 'press any key to stop! ',0ah,0dh,'$'
freq dw 2 dup(262,294,330,262) ;"两只老虎"乐曲中,音符的频率(音阶)
dw 2 dup(330,349,392) ;其中,0频率表示结尾
dw 2 dup(392,440,392,349,330,262)
dw 2 dup(294,196,262),0
time dw 10 dup(8),16,8,8,16 ; "两只老虎"乐曲中,音符的延时(节拍)
dw 2 dup(4,4,4,4,8,8) ;其中4,8,16表示延时的次数
dw 2 dup(8,8,16)
old_seg dw ?
old_off dw ?
data ends
code segment
assume cs:code, ds:data, ss:sstack
;* Music.asm(音乐发生器接口实验) */
;* 音乐发生器程序Source File */
;* Copyright (c) 2005 by HUST */
;*------------------------------------------------------*/
sstack segment stack
dw 200 dup(?)
sstack ends
data segment
bg db 'Two tigers ...'
db 0ah,0dh
db 'press any key to stop! ',0ah,0dh,'$'
freq dw 2 dup(262,294,330,262) ;"两只老虎"乐曲中,音符的频率(音阶)
dw 2 dup(330,349,392) ;其中,0频率表示结尾
dw 2 dup(392,440,392,349,330,262)
dw 2 dup(294,196,262),0
time dw 10 dup(8),16,8,8,16 ; "两只老虎"乐曲中,音符的延时(节拍)
dw 2 dup(4,4,4,4,8,8) ;其中4,8,16表示延时的次数
dw 2 dup(8,8,16)
old_seg dw ?
old_off dw ?
data ends
code segment
assume cs:code, ds:data, ss:sstack
star proc far ;程序开始
mov ax,data
mov ds,ax
mov ax,sstack
mov ss,ax
push di ;寄存器压栈
push si
push bp
push bx
mov al,90h ;8255初始化
mov dx,303h
out dx,al
mov al,0ch ;关闭8253的T2计数器(8255的PC6=0)
mov dx,303h
out dx,al
mov al,00h ;关闭喇叭(8255的PC0=0)
mov dx,303h
out dx,al
mov al,0b6h ;8253初始化
mov dx,307h
out dx,al
mov dx,offset bg ;显示提示信息
mov ah,9
int 21h
mov si,offset freq ;设置频率指针→si
剩余5页未读,继续阅读
资源评论
- ppsjk22013-04-21大家可以参考
licongwangnengfa
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功