sun.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,392,330,294,330,392,330,294,330
                 dw 330,392,330,294,262,294,330,392,294
                 dw 262,262,220,196,196,220,262,294,330,262
                 dw -1
        mus_time dw 3 dup(500),250,250,500,250,250,1000
                 dw 2 dup(500,500,250,250),1000
                 dw 3 dup(500,250,250),1000
        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 + -
显示快捷键?