11b.asm

来自「录音子程序 mov dx,offset news_2 显示放音提示」· 汇编 代码 · 共 67 行

ASM
67
字号
DATA SEGMENT

    ioport equ 0c000h-280h              ;实验箱驱动默认中断地址为C000H,此处设置偏移量
    ioport1 equ ioport+290h

ORG 1000H
SIN DB 127,168,205,233,250,253,243,220,187,147,106, 66, 33, 10,  0,  3, 20, 48, 85,126

DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STT:PUSH DS
    SUB AX,AX
    PUSH AX
;==============================
    MOV AX,DATA
    MOV DS,AX

FORMAT:MOV SI,OFFSET SIN
    MOV BH,20
CONTROL:MOV DX,ioport1
    MOV AL,[SI]
    OUT DX,AL
    CALL DELAY1S
    INC SI
    DEC BH
    CMP BH,0
    JE FORMAT
;==============================
    MOV AH,0BH
    INT 21H
    CMP AL,00H
    JNE EXIT
    JMP CONTROL

EXIT:MOV AH,4CH
    INT 21H
;==============================
    RET
START ENDP

DELAY1S PROC NEAR
;8086延时1S子程序
     PUSHF
     PUSH BX
     PUSH CX

     MOV BX,3E8H
LP2: MOV CX,0BAH
LP1: PUSHF
     POPF
     LOOP LP1
     DEC BX
     JNZ LP2

     POP CX
     POP BX
     POPF
       
     RET
DELAY1S ENDP

CODE ENDS
END STT

⌨️ 快捷键说明

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