music.asm

来自「两首汇编发声程序」· 汇编 代码 · 共 40 行

ASM
40
字号
        title music -- a music of 'Mary  had a little lamb'
        extrn soundf :far
        stack   segment para stack 'stack'
                db 64 dup('stack...')
        stack ends

        dseg    segment para'data'
        mus_freg 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_time dw 6 dup(25),50
                 dw 2 dup(25,25,50)
                 dw 12 dup(25),100
        dseg ends

        cseg segment para 'code'
                assume cs:cseg,ss:stack,ds:dseg
        music proc far
                mov ax,dseg
                mov ds,ax
                lea si,mus_freg
                lea bp,ds:mus_time
        freq:
                mov di,[si]
                cmp di,-1
               ; je music
                je end_mus
                mov bx,ds:[bp]
                call soundf
                add si,2
                add bp,2
                jmp freq
        end_mus:
                mov ax,4c00h
                int 21h
        music endp
        cseg ends
                end music

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?