`
duzc2
  • 浏览: 60803 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

原创dos下用pc喇叭唱月亮代表我的心

阅读更多
STACK SEGMENT STACK
  DB 256 DUP(0)
STACK ENDS
DATA SEGMENT
 OUTB DB 0AH,0DH,"music:yue liang dai biao wo de xin",0AH,0DH,0ah,0dh
    db "               ^ ^                      ^ ^          ",0ah,0dh
    db "            ^        ^              ^        ^      ",0ah,0dh
    db "           ^             ^       ^             ^     ",0ah,0dh
    db "          ^                ^  ^                 ^    ",0ah,0dh
    db "          ^                                     ^    ",0ah,0dh
    db "           ^                                    ^    ",0ah,0dh
    db "            ^                                  ^     ",0ah,0dh   
    db "             ^                                ^      ",0ah,0dh
    db "               ^                            ^       ",0ah,0dh
    db "                ^                         ^        ",0ah,0dh
    db "                  ^                     ^           ",0ah,0dh
    db "                    ^                 ^         ",0ah,0dh
    db "                      ^             ^      ",0ah,0dh
    db "                        ^        ^       ",0ah,0dh
    db "                           ^  ^    ",0ah,0dh
    db " -- Du Tian Wei.",0ah,0dh
    db "   2008.11.25",0ah,0dh
    db 0ah,0dh,"$"
 music  dw 262,1,294,1,330,1,349,1,0,1,392,1,0,1,440,1,0,1,494,1,0,1,523,5
    dw 0,4
    dw 196,1
    dw 262,3,330,1,392,3,262,1
    dw 247,3,330,1,392,2,0,1,392,1
    dw 440,1,494,2,523,3,440,1
    dw 440,1,392,1,392,2,0,2,330,1,294,1
    dw 262,3,262,1,262,2,330,1,294,1
    dw 262,6,294,1,330,1
    dw 294,2,262,1,220,2,294,1,330,1
    dw 294,6,0,1,196,1
    dw 294,2,220,1,247,1,262,1,294,1
    dw 262,6,330,1,392,1
    dw 247,6,220,1,247,1
    dw 220,3,247,1,220,3,196,2
    dw 330,6,392,2
    dw 330,3,294,1,262,2,392,2
    dw 247,6,220,1,247,1
    dw 262,6,294,1,330,1
    dw 294,6,0,1
    dw 196,1
    dw 262,3,330,1,392,3,262,1
    dw 247,3,330,1,392,2,0,1,392,1
    dw 440,1,494,2,523,3,440,1
    dw 440,1,392,1,392,2,0,2,330,1,294,1
    dw 262,3,262,1,262,2,330,1,294,1
    dw 262,6,294,1,330,1
    dw 294,3,220,1,247,2,262,1,294,1
    dw 262,6,"$"
DATA ENDS
CODE SEGMENT
 ASSUME CS:CODE, DS: DATA
 START PROC FAR
        push si
    PUSH DS
        MOV AX,0
        PUSH AX
        MOV AX,DATA
        MOV DS,AX
        ;PROGRAM START !!!
        ;CALL WAITT;WAIT A MOMENT
        MOV AH,09       ; PRINT
        MOV DX,OFFSET OUTB
        INT 21H         ; PRINT
    ;jmp exit;text test
    mov si , offset music
 play:  mov ax,ds:[si]
    cmp ax,'$'
    je exit
    cmp ax,0
    je jtime
        CALL SOUND
jtime:  inc si
    inc si
    mov ax,ds:[si]
    call waittime
    call endsound  ; end sound
    inc si
    inc si
    jmp play
  exit: ret
 START ENDP
 waittime proc near
    push cx
    mov cx,ax
  wloop:call waitt
    loop wloop
    pop cx
    ret
 waittime endp
 SOUND PROC NEAR ;
    push bx
    push cx
    push dx
    mov bx,ax
    mov al,10110110b
    out 43h,al
    mov dx,12h
    mov ax,34dch
    div bx
    out 42h,al
    mov al,ah
    out 42h,al
    in  al,61h
    or  AL,03H
        OUT 61H,AL
    pop dx
    pop cx
    pop bx
        RET
 SOUND ENDP
 endsound proc near
    push ax
    in  al,61h
    and al,11111100b
    out 61h,al
    pop ax
    ret
 endsound endp
 WAITT PROC NEAR
    push cx
    push dx
        mov ah,86h
    mov cx,3     ;cx:dx
    mov dx,0e78dh
    int 15h
    pop dx
    pop cx
    ret
 WAITT ENDP
CODE ENDS
        END START
 

 

分享到:
评论

相关推荐

    PC内置喇叭发声仿真计算器源码

    【标题】"PC内置喇叭发声仿真计算器源码"是一个编程项目,主要目标是创建一个具有声音反馈功能的计算器模拟器。这个源码实现了一个计算器应用,不仅具备基本的计算功能,还能通过计算机内部的喇叭播放出不同的音调,...

    利用PC喇叭播放声音

    PC喇叭是计算机硬件的一个古老部分,尽管现代系统通常拥有更高级的音频设备,但在某些特定情况下,如低资源环境或为了实现复古效果,仍然可能用到它。 VB提供了一些基本的API调用来实现这种功能,这些API通常包括...

    delphi源码 一个使用PC喇叭演奏音乐的控件

    本项目是一个使用Delphi开发的源码,其目标是实现通过PC内置的喇叭播放音乐的功能。这个控件能够帮助开发者在不依赖外部音频播放库或设备的情况下,利用计算机的内部硬件资源来创建音乐效果。 1. **PC喇叭介绍** -...

    dos下的蜂鸣器发声程序

    总结一下,这个“dos下的蜂鸣器发声程序”是一个用MASM汇编语言编写的,能在DOS环境下运行的程序,它能够根据输入文件的内容控制蜂鸣器发出声音,播放简单的音乐。这涉及到了汇编语言编程、DOS操作系统、硬件I/O交互...

    pc喇叭发声程序设计

    在IT领域,特别是硬件驱动和低级编程方面,"pc喇叭发声程序设计"是一个经典的主题。这个主题涉及到了计算机硬件接口、I/O控制以及汇编语言编程。在本项目中,开发者利用8253定时器和8255可编程并行接口来实现PC喇叭...

    控制PC喇叭使其可以演奏音乐的控件(18KB)

    标题中的“控制PC喇叭使其可以演奏音乐的控件(18KB)”指的是一个小型的软件组件,它允许程序员通过编程来控制计算机的内置扬声器播放音乐或音频。这种控件通常基于ActiveX技术,是一种在Windows操作系统环境下广泛...

    C#控制PC喇叭发声

    在本文中,我们将深入探讨如何使用C#编程语言来控制个人计算机(PC)的喇叭发声。C#是一种广泛应用于Windows平台的面向对象的编程语言,它提供了丰富的功能,包括对系统级操作的支持,如播放声音。 首先,让我们...

    C#调用PC主板蜂鸣器小喇叭speaker发声beep(Win7_64位亲测可用)

    C#调用PC主板蜂鸣器小喇叭speaker发声beep。 不是拷贝XP的beep.sys实现,使用的是InpOut库,32位及64位均可使用。 我自己加了音符频率表,内附一首生日歌,类似于20年前DOS开发一样,使用蜂鸣器播放音乐,其它歌曲请...

    PC内置喇叭发出声音(delphi)

    在Delphi编程环境中,开发PC内置喇叭的声音控制功能是一项实用的技术任务。内置喇叭,也称为系统扬声器或蜂鸣器,是计算机硬件的一部分,它能够发出简单的音频信号。在Delphi中,我们通常通过使用Windows API(应用...

    精彩编程与编程技巧-控制PC喇叭...

    通过以上分析,我们可以了解到如何使用Visual Basic编程语言以及`kernel32.dll`中的`Beep`函数来控制PC喇叭发出声音。这种方法虽然简单,但对于初学者来说是非常实用的,可以帮助他们理解编程的基本概念和技术。同时...

    控制PC喇叭使其可以演奏音乐的控件

    很好使的控制PC喇叭使其可以演奏音乐的控件

    system_beeps_pcspeaker_DoYou_DOS_music_backgound_

    标题“system_beeps_pcspeaker_DoYou_DOS_music_backgound_”暗示了这是一个关于在DOS操作系统下,通过PC喇叭播放音乐的程序或者技术。在这个主题中,我们可以深入探讨以下几个重要的IT知识点: 1. **DOS操作系统**...

    DOS下GUI程序开发

    4. **乐曲演奏**:在DOS下播放音乐通常涉及到波形发生器的控制,比如通过控制PC喇叭的方波频率和持续时间。TC中可以调用DOS中断或者使用第三方库如“Beep”函数来实现。更复杂的情况下,还可以使用MIDI接口来播放...

    汇编控制主板喇叭发声

    主板喇叭,也称为PC喇叭或蜂鸣器,是一个简单的音频设备,通常集成在主板上,用于发出简单的声音信号。它的发声原理是通过改变电流的频率和幅度来模拟不同音调和音量。在汇编语言中,我们可以直接操控硬件寄存器来...

    VB利用PC喇叭播放声音

    在VB(Visual Basic)编程环境中,我们可以利用内置的API函数来实现通过PC喇叭播放声音的功能。PC喇叭,也称为蜂鸣器,是一种简单的音频设备,主要用于发出简单的音调。在这个VB应用实例中,用户可以通过点击窗口上...

    dos平台下的俄罗斯方块游戏

    7. **编译和调试**:使用DOS下的编译器(如 Turbo C++)将源代码编译为可执行文件,并使用调试工具(如DEBUG)进行问题排查。 8. **版本控制**:虽然没有明确提及,但作为一个项目,使用版本控制系统(如Git)进行...

    Basic用机器喇叭放歌

    总结来说,"Basic用机器喇叭放歌"是一个利用DOS环境下的BASIC编程语言,通过控制计算机的硬件直接播放音乐的示例。这不仅展示了编程的趣味性,也体现了早期计算机用户对技术的深入理解和创新应用。虽然现在我们有更...

    c语言控制pc扬声器代码

    为了在不同的操作系统上运行这段代码,可能需要特定的编译器和库,例如在Linux环境下使用`gcc`,而在DOS环境下可能需要使用DJGPP或其他MS-DOS兼容的C编译器。 总之,C语言控制PC扬声器是通过直接与硬件交互来实现的...

    DOS环境下的单机台球游戏(BC、TC开发)

    7. **声音效果**:虽然DOS下的声音支持有限,但可以利用PC喇叭的波形输出功能来添加简单的音效。 8. **文件操作**:游戏可能需要保存和加载分数或游戏状态,这就需要用到DOS的文件操作函数。 在提供的压缩包文件...

Global site tag (gtag.js) - Google Analytics