怎样用汇编语言编写音乐
发布网友
发布时间:2022-04-22 05:23
我来回答
共1个回答
热心网友
时间:2023-07-12 11:23
DATA SEGMENT
INFO1 DB 0DH,0AH,'WELCOME YOU TO COME HERE!$'
INFO2 DB 0DH,0AH,'this is a music program!$'
INFO3 DB 0DH,0AH,'please select!$'
INFO4 DB 0DH,0AH,'INPUT ERROR!$'
INFO5 DB 0DH,0AH,'PLEASE INPUT AGAIN!$'
MUSLIST DB 0DH,0AH,'A MUSIC1'
DB 0DH,0AH,'B MUSIC2'
DB 0DH,0AH,'C MUSIC3'
DB 0DH,0AH,'Q EXIT'
db 0dh,0ah,'$'
;音乐一*********************************************************
MUS_FREG1 DW 330,294,262,294,3 DUP (330)
DW 3 DUP (294),330,392,392
DW 330,294,262,294,4 DUP (330)
DW 294,294,330,294,262,-1
MUS_TIME1 DW 6 DUP (25),50
DW 2 DUP (25,25,50)
DW 12 DUP (25),100
;*********************************************************音乐二
MUS_FREG2 DW 330,392,330,294,330,392,330,294,330
DW 330,392,330,294,262,294,330,392,294
DW 262,262,220,196,196,220,262,294,332,262,-1
MUS_TIME2 DW 3 DUP(50),25,25,50,25,25,100
DW 2 DUP(50,50,25,25),100
DW 3 DUP(50,25,25),100
;********************************************************音乐三
MUS_FREG3 DW 262,262,294,262,349
DW 330,262,262,294,262
DW 392,349,262,262,523
DW 440,349,262,262,466
DW 466,440,262,392,349,-1
MUS_TIME3 DW 50,50,100,100,100
DW 100,100,50,50,100,100
DW 100,100,100,50,50,100
DW 100,100,100,100,100,50
DW 50,100,100,100,100,100
DATA ENDS
STACK SEGMENT
DB 200 DUP ('STACK')
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV aH, 0
MOV AL,00
INT 10H
;*****定义一个宏*****
SHOW MACRO b
LEA DX,b
MOV AH,9
INT 21H
ENDM
;**********************音乐地址宏
ADDRESS MACRO A,B
LEA SI,A
LEA BP,DS:B
ENDM
;***********************
show INFO1
show INFO2
show INFO3
show MUSLIST
INPUT: MOV AH,01H
INT 21H
CMP AL,'Q'
JZ retu
CMP AL,'A'
JNZ B0
ADDRESS MUS_FREG1,MUS_TIME1
CALL MUSIC
JMP EXIT1
B0: CMP AL,'B'
JNZ C0
ADDRESS MUS_FREG2,MUS_TIME2
CALL MUSIC
JMP EXIT1
C0: CMP AL,'C'
JNZ exit
ADDRESS MUS_FREG3,MUS_TIME3
CALL MUSIC
EXIT1: show INFO5
JMP INPUT
EXIT:
call clear
show INFO4
show INFO5
show INFO1
show INFO2
show INFO3
show MUSLIST
jmp input
RETU: MOV AH,4CH
INT 21H
;******************************************发声
GENSOUND PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DI
MOV AL,0B6H
OUT 43H,AL
MOV DX,12H
MOV AX,348ch
DIV DI
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
IN AL,61H
MOV AH,AL
OR AL,3
OUT 61H,AL
WAIT1: MOV CX,3314
call waitf
DELAY1: DEC BX
JNZ WAIT1
MOV AL,AH
OUT 61H,AL
POP DI
POP DX
POP CX
POP BX
POP AX
RET
GENSOUND ENDP
;********************************************
waitf proc near
push ax
waitf1:
in al,61h
and al,10h
cmp al,ah
je waitf1
mov ah,al
loop waitf1
pop ax
ret
waitf endp
;*********************************************
MUSIC PROC NEAR
PUSH DS
SUB AX,AX
PUSH AX
FREG: MOV DI,[SI]
CMP DI,-1
JE END_MUS
MOV BX,DS:[BP]
CALL GENSOUND
ADD SI,2
ADD BP,2
JMP FREG
END_MUS:
RET
MUSIC ENDP
;************************************************clear!!!
clear proc near
push ax
push bx
push cx
push dx
mov ah,6
mov al,0
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,7
int 10h
pop dx
pop cx
pop bx
pop ax
ret
clear endp
CODE ENDS
END START
这是一个例子,希望有用
用汇编语言做出音乐《苏三说》 十万火急
PROMPT_MSG2 DB 'Now playing Two Tigers...',0AH,0DH,'$'PROMPT_MSG3 DB 'Please stroke the keyboard to play music.Enjoy!(BREAK BY STROKING THE KEY--',END_C,0AH,0DH,'$'PROMPT_MSG4 DB 'Please input filename:$'PROMPT_MSG5 DB 'File does NOT exist!!',0AH,0DH,'$'T...
单片机编写音乐程序中DB表示什么意思? 这些数字是什么意思?急急急...
DB是单片机汇编语言中的指令 DB 指令以表达式的值的字节形式初始化代码空间。格式: [标号:] DB 表达式表 表达式中可包含符号、字符串、或表达式等项,各个项之间用逗号隔开,字符串应用引号括起来。括号内的标号是可选项,如果使用了标号,则标号的值将是表达式表中第一字节的地址。DB 指令必须...
使用80c51单片机at89s52芯片、汇编语言编写“世上只有妈妈好”的音乐...
SETB ET0 ;在EA打开的前提下,打开T0定时器中断 CLR TR0 ;不启用T0计数器/定时器LOOP: NOP ;开始循环播放了。程序不完整 ; --- ; 1-|6. 5 3 5 | ;第一段 LCALL DY6 ;长跳转到低音6标号那里,程序不完整,没有写出来。以下同理 SETB TR0 ;开始启用T0计数器/定时器 LCALL DEL11 LC...
Loop汇编
在汇编语言中,LOOP指令是一种常见的循环结构,用于控制程序的重复执行。它的基本格式是 MOV CX, 循环次数+1,然后跳转到标号S开始执行循环。在S处,程序段会执行,直到CX的值变为0,此时循环结束。当CPU执行LOOP指令时,它会执行两个操作:首先,将CX的值减1,然后检查这个新的值。如果CX不为0,...
汇编语言 音乐动画程序设计(急用)
设计任务要求与说明:1.清晰且易于操作的用户菜单界面,在出现的界面中输入数字或字母进行控制转换2.使用DOS,BIOS的中断功能调用,完成动画,音乐同步效果,通过键盘控制暂停,开始,退出。一个完整的音乐动画程序 不用太复杂 如果备注有详细解说更好呵 参考清华大学出版的IBM-PC汇编语言程序设计更好哈 展开 我来答 ...
51单片机,怎么用汇编语言编程一个程序。实现4个按键控制4种报警声音(1...
LJMP MAIN ORG 0030H MAIN:MOV SP,#5FH MOV TMOD,#11H SETB EA SETB ET0 SETB ET1 LOOP:LCALL KEYSCAN MOV A,R2 JNZ LP1 MOV DPTR,#TAB110 SJMP LPRUN LP1:DEC A JNZ LP2 MOV DPTR,#TAB119 SJMP LPRUN LP2:DEC A JNZ LP3 MOV DPTR,#TAB120 SJMP LPRUN LP3:DEC A JNZ LP4...
51单片机编写音乐盒,要求汇编语言,歌曲青花瓷和爱情买卖,能让歌曲和数...
好难,找不到歌曲的数字代码
用汇编语言把自己的名字(汉文)和加上音乐怎样显示出来,求助!!!_百 ...
要显示汉字就得用点阵屏,LCD12864。要仿真的,就容易些,就是要电脑上做行了,不用花钱买元件和电路板。要实物的,实物的LCD屏,用汇编写程序有点麻烦,因买屏时,厂家给的驱动程序都是C语言的,要自己写就更难了。那音乐是播放出来的,不能显示出来呀。是要显示歌词,还是显示乐谱?
音乐的demo究竟是什么意思啊?
“DEMO”就是那种自己创作或唱的歌曲在自己演唱中加入配乐,伴唱等,类似于很多歌手在出碟之前为测试效果而做的“小样”,不用像录制好的CD那样正式,可以只是征收格的一部分,但要有配器,还可以加上伴唱,要有一个完整的效果。
汇编语言实现计算机钢琴(音乐)设计
虽然你的出价很高,可是还是很小人回答,因为你的答案很难回答,我劝你还是去比较高科技的师傅那里问问,他们一定可以回答到你的,我相信功夫不负有心人,我相信你能成功的,我也祝你成功