08b.asm

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

ASM
49
字号
DATA SEGMENT

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

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 DX,ioport3          ;写控制字,计数器0,先读写低8位,后读写高8位,工作方式3,二进制计数
        MOV AL,00110110B
        OUT DX,AL

;下面设置计数器0初始计数值,1000D=03E8H,先写入低8位,接着写入高8位,也可以直接使用AX=1000,然后OUT DX,AL,MOV AL,AH,OUT DX,AL这样不用换算
        MOV DX,ioport1
        MOV AL,0E8H
        OUT DX,AL
        MOV AL,03H
        OUT DX,AL

        MOV DX,ioport3          ;写控制字,计数器1,先读写低8位,后读写高8位,工作方式3,二进制计数
        MOV AL,01110110B
        OUT DX,AL

        MOV DX,ioport2          ;设置计数器0初始计数值
        MOV AL,0E8H
        OUT DX,AL
        MOV AL,03H
        OUT DX,AL

        MOV AH,4CH              ;退出
        INT 21H

;==============================
    RET
START ENDP
CODE ENDS
END STT

⌨️ 快捷键说明

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