- 3
- 0
- 约3.58千字
- 约 6页
- 2018-04-23 发布于河南
- 举报
汇编数字钢琴乐曲设定
数字钢琴源程序:
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AL, ;初始化8253 的2号寄存器工作在方式3(方波发生器)
OUT 43H, AL ;将控制字送到控制寄存器
PS:
MOV AH, 01H ;输入一个字符
INT 21H ;字符默认输入到AL中
CMP AL, 1 ;判断是否输入1
JE P1 ;为1时跳转P1
CMP AL, 2 ;判断是否输入2
JE P2 ;为2时跳转P2
CMP AL, 3 ;判断是否输入3
JE P3 ;为3时跳转P3
CMP AL, 4 ;判断是否输入4
JE P4 ;为4时跳转P4
CMP AL, 5 ;判断是否输入5
JE P5 ;为5时跳转P5
CMP AL, 6 ;判断是否输入6
JE P6 ;为6时跳转P6
CMP AL, 7 ;判断是否输入7
JE P7 ;为7时跳转P7
CMP AL, e ;判断是否输入e
JE E ;为e时跳转结束
JMP PS ;都不是跳转PS 待重新输入字符
E: MOV AH,4CH ;结束
INT 21H
P1: MOV BX, 523 ;对应的输出频率 523,578,659,698,784,880,980
JMP D ;跳转除法操作
P2: MOV BX, 578
JMP D
P3: MOV BX, 659
JMP D
P4: MOV BX, 698
JMP D
P5: MOV BX, 784
JMP D
P6: MOV BX, 880
JMP D
P7: MOV BX, 980
JMP D
D: MOV DX, 12H ;将时钟的主频率送至被除数
MOV AX, 34DEH
DIV BX ;进行除法操作 商保存在AX中
OUT 42H, AL ;将AX中的计数次数送至8253的存储器2
MOV AL, AH ;送低位
OUT 42H, AL ;送高位
MOV AL, ;设置B组端口的低两位为1
OUT 61H, AL ;将AL中内容送至8255的B端口 允许喇叭发声
MOV BX, 1000 ;延时一段时间 让喇叭持续输发声
DELAY1: MOV CX, 0CFFFH
DELAY2: LOOP DELAY2
DEC BX
JNZ DELAY1
MOV AL, ;设置B组端口的低两位为0
OUT 61H, AL ;将AL中内容送至8255的B端口 终止喇叭发声
JMP PS ;跳转PS以待按下下一个键
CODE ENDS
END START
乐曲设定源程序:
CODE SEGMENT
ASSUME CS:CODE
melody DB 1234567e ;在此设置整个乐曲对应的旋律e结束
time DW 100,100,100,100,100,100,100,100
;在此设置每个旋律的持续时间
START:
MOV AL, ;初始化8253 的2号寄存器工作在方式3(方波发生器)
OUT 43H, AL ;将控制字送到控制寄存器
MOV SI, 0
PS:
MOV AL, melody[SI] ;取出对应的字符旋律输入到AL中
您可能关注的文档
- 仙桃一中2006年秋季学期九月月考.doc
- 电梯故障码大全.doc
- 关于客户满意与客户忠诚的文献综述.doc
- 标准厂房模板方案.doc
- 第一单元复习课ppt.ppt
- あのときの王子くん.doc
- 第三章常规现代加密技术.ppt
- 29章视图基础教案.doc
- 德意志意识形1.doc
- 皇册家园管理服务中心年终工作总结.doc
- 2026年乳制品行业成人奶粉市场增长与品牌定位报告.docx
- 2026年人工智能客服市场需求预测模型与实证分析报告.docx
- 数字孪生在汽车工厂的应用:2026年智能预测性维护与实时优化实践.docx
- 2026年数字经济商场导航机器人客流分析报告.docx
- 2026年服务业伊拉克语培训机构教学创新学生反馈分析.docx
- 2026年温度传感器在智能交通领域的应用分析.docx
- 2026年未来垂直农场LED光源技术发展方向研究分析报告.docx
- 2026年网络文学IP文旅IP开发报告.docx
- 2026年通信芯片行业市场发展趋势与竞争策略研究.docx
- 2026年新能源逆变器检测方法研究报告.docx
原创力文档

文档评论(0)