⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exp93.asm

📁 汇编语言 参考书 包含作业与答案 从入门到精通 通俗易懂
💻 ASM
字号:
CODE     SEGMENT  PARA
         ASSUME CS:CODE,DS:CODE

NEW_INT1C       PROC    FAR
                PUSH    AX
                PUSH    BX
                PUSH    CX
                PUSH    DX
                PUSH    SI
                PUSH    DI
                PUSH    BP
                PUSH    DS
                PUSH    ES
                STI

                JMP     START
OLD_INT1C       DD      ?
NNN             DW      2000
DELAY_COUNT     DW      3000
COUNT           DW      ?

START:          PUSH    CS
                POP     DS

                INC     COUNT
                CMP     COUNT,18
                JB      RETURN
                MOV     COUNT,0

                CALL    BEEP

RETURN:         CLI
                POP     ES
                POP     DS
                POP     BP
                POP     DI
                POP     SI
                POP     DX
                POP     CX
                POP     BX
                POP     AX
                IRET
NEW_INT1C       ENDP
BEEP            PROC    NEAR
                MOV     DX,NNN
                IN      AL,61H
                AND     AL,11111110B
AGAIN:          OR      AL,00000001B
                OUT     61H,AL
                MOV     CX,DELAY_COUNT
WAIT1:          NOP
                LOOP    WAIT1

                AND     AL,11111100B
                OUT     61H,AL
                MOV     CX,DELAY_COUNT
WAIT2:          NOP
                LOOP    WAIT2

                DEC     DX
                JNZ     AGAIN
                RET
BEEP            ENDP

H_LEN           EQU     $-NEW_INT1C

MAIN            PROC    FAR
                MOV     AX,CS
                MOV     DS,AX

                MOV     COUNT,0

                MOV     AH,35H
                MOV     AL,1CH            ;GET  INT 1Ch ADDR
                INT     21H

                MOV     WORD PTR OLD_INT1C,BX
                MOV     WORD PTR OLD_INT1C+2,ES

                MOV     AH,25H
                MOV     AL,1CH
                MOV     DX,OFFSET NEW_INT1C      ;DS=CS
                INT     21H

                MOV     DX,(H_LEN+15)/16+10H
                MOV     AX,3100H
                INT     21H
MAIN            ENDP
CODE            ENDS
                END     MAIN



⌨️ 快捷键说明

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