汇编程序:哆瑞米发商拉西

简介: 【任务】   编一个程序,让计算机演奏出七个不同音高的音符【参考解答】assume cs:codesegdata segment dw 262,294,330,349,3...

【任务】
  编一个程序,让计算机演奏出七个不同音高的音符

【参考解答】

assume cs:codeseg
data segment
   dw 262,294,330,349,392,440,494,524
codeseg segment
start: mov ax, data
       mov ds, ax
       mov si, 0
       mov bl,8
play:
       mov al,0b6h    ;8253初始化
       out 43h,al     ;43H是8253芯片控制口的端口地址
       mov dx,12h
       mov ax,34dch
       div word ptr [si]  ;设置声音的频率
       out 42h, al
       mov al, ah
       out 42h, al
       in al, 61h         ;读设备控制器端口原值
       mov ah, al         ;保存原值
       or al, 3           ;打开扬声器和定时器
       out 61h, al        ;接通扬声器,发声
       mov dx, 10     ;延时
delay0: mov cx, 60000  
delay1:
       nop
       loop delay1
       dec dx
       jne delay0
       mov al, ah         ;恢复端口原值
       out 61h, al
       add si, 2
       dec bl
       jne play

       mov ax, 4c00h
       int 21h
codeseg ends
end start
目录
相关文章
加快软盘操作速度的汇编程序源代码
加快软盘操作速度的汇编程序源代码
|
6月前
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
181 3
|
6月前
|
程序员 编译器 数据处理
汇编高手秘籍:解锁性能优化新境界,用汇编语言让你的程序飞起来!
【8月更文挑战第31天】汇编语言作为编程基石,其高效性能备受推崇。尽管现代软件开发更偏爱高级语言,但在性能要求极高的场景下,汇编优化仍不可或缺。本文通过示例代码介绍四种优化技巧:循环展开、寄存器分配、指令重排及SIMD指令使用,显著提升执行效率。同时强调分析性能瓶颈、测试优化效果及保持代码可读性的重要性,助力开发者在关键代码路径上实现性能突破。
254 0
8086 汇编笔记(五):包含多个段的程序
8086 汇编笔记(五):包含多个段的程序
|
9月前
|
编译器 开发者 C++
8086 汇编笔记(三):第一个程序
8086 汇编笔记(三):第一个程序
|
8月前
|
C语言
程序技术好文:部分ARM汇编指令解读
程序技术好文:部分ARM汇编指令解读
|
9月前
|
存储 编译器
C51汇编程序
C51汇编程序
86 5
|
存储 Java C++
汇编语言、寄存器分类及程序计数器
汇编语言、寄存器分类及程序计数器
169 0
|
程序员 芯片 流计算
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
139 0
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)