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

简介: 【任务】   编一个程序,让计算机演奏出七个不同音高的音符【参考解答】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
目录
相关文章
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
419 3
|
程序员 编译器 数据处理
汇编高手秘籍:解锁性能优化新境界,用汇编语言让你的程序飞起来!
【8月更文挑战第31天】汇编语言作为编程基石,其高效性能备受推崇。尽管现代软件开发更偏爱高级语言,但在性能要求极高的场景下,汇编优化仍不可或缺。本文通过示例代码介绍四种优化技巧:循环展开、寄存器分配、指令重排及SIMD指令使用,显著提升执行效率。同时强调分析性能瓶颈、测试优化效果及保持代码可读性的重要性,助力开发者在关键代码路径上实现性能突破。
739 0
|
编译器 开发者 C++
8086 汇编笔记(三):第一个程序
8086 汇编笔记(三):第一个程序
|
存储 编译器
C51汇编程序
C51汇编程序
286 5
程序技术好文:部分ARM汇编指令解读
程序技术好文:部分ARM汇编指令解读
|
程序员 芯片 流计算
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
263 0
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
|
存储 API C语言
从反汇编看恶意程序的C语言结构(二)
从反汇编看恶意程序的C语言结构
264 0
|
编译器 API 分布式数据库
从反汇编看恶意程序的C语言结构(一)
从反汇编看恶意程序的C语言结构
227 0