На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 7 / Листинг 7-10. BEEP.ASM Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Листинг 7-10. BEEP.ASM

                              Листинг 7-10. BEEP.ASM
        -------------------------------------------------------------------
             TITLE   Beep
        _TEXT           SEGMENT         BYTE PUBLIC 'CODE'
        _TEXT           ENDS
        _DATA           SEGMENT  WORD PUBLIC 'DATA'
        _DATA           ENDS
        CONST    SEGMENT          WORD PUBLIC 'CONST'
        CONST    ENDS
        _BSS            SEGMENT  WORD PUBLIC 'BSS'
        _BSS            ENDS
        DGROUP  GROUP    CONST, _BSS,       _DATA
                ASSUME   CS:_TEXT, DS:DGROUP, SS:DGROUP, ES:DGROUP
        _TEXT           SEGMENT
        timer   equ     40h
        port_b          equ      61h
        ;-----  Издает слышимый звук на внутреннем громкоговорителе ПЭВМ
        ;       Длительность звука управляется одним целым аргументом.
        ;
                PUBLIC  _Beep
                PUBLIC  _Beep
        _Beep   PROC    NEAR
                push    bp
                mov     bp,sp
                mov     al,10110110B   ;генерируется короткий звук (длинный
        ;                               теряет данные)
                out     timer+3,al     ;код, взятый из технич-го описания
                mov     ax,533H
                out     timer+2,al
                mov     al,ah
                out     timer+2,al
                in      al,port_b
                mov     ah,al
                or      al,03
                out     port_b,al
                mov     cx,[bp+4]
                mov     bl,1
        beep0:  loop    beep0
                dec     bl
                jnz     beep0
                mov     al,ah
                out     port_b,al
                pop     bp
                ret
        _Beep           ENDP
        _TEXT           ENDS
                END
        -------------------------------------------------------------------

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz