微机原理实验 音乐发生器接口程序
;*------------------------------------------------------*/
;* Music.asm(音乐发生器接口实验) */
;* 音乐发生器程序Source File */
;* Copyright (c) 2005 by HUST */
;*------------------------------------------------------*/
sstack segment stack
dw 200 dup(?)
sstack ends
data segment
bg db 'hou lai...'
db 0ah,0dh
db 'press any key to stop! ',0ah,0dh,'$'
freq dw 2 dup(330,294,330) ;"后来乐曲中,音符的频率(音阶) dw 2 dup(262,262,262,294,330,349) ;其中,0频率表示结尾 dw 2 dup(330,330,349,294,262,294,294,247,247)
dw 2 dup(262,262,220,220,247,262,262,294)
dw 2 dup(330,247,247,247,262,247,220)
dw 2 dup(220,440,392,349,330,349)
dw 2 dup(392,247,262,349,330)
dw 2 dup(349,349,349,330,249,262,247,294,262)0
time dw 10 dup(4,2,2) ; "后来"乐曲中,音符的延时(节拍) dw 2 dup(16,4,4,4,4,4) ;其中4,8,16表示延时的次数 dw 2 dup(16,2,2,4,2,2,4,2,2)
dw 2 dup(8,2,2,2,2,8,4,4)
dw 2 dup(4,2,2,1,4,2,2)
dw 2 dup(16,4,4,4,4,4)
dw 2 dup(8,4,1,4,4)
dw 2 dup(8,2,2,4,4,4,2,2,24)0
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