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

📄 8k1.asm

📁 几个接口实验的代码。内含:8253、8255、8237、8251、DA0832、AD0809等芯片的实验代码!
💻 ASM
字号:
;************************8250-2.ASM***********************
STACK      SEGMENT
STA        DW   50 DUP (?)
TOP        EQU  LENGTH STA
STACK      ENDS
;----------------------------------------------------------
DATA       SEGMENT
CSREG      DW ?
IPREG      DW ?
MESS       DB 'THIS IS A PC SERIAL PORT SELF-TEST PROGRAM.',0AH,0DH
           DB 'STRIKE A KEY, IT WILL DISPLAY ON MONITOR.',0AH,0DH
           DB 'PRESS "ESC" KEY , RETURN DOS.',0AH,0DH,'$'
DATA       ENDS
;----------------------------------------------------------
CODE       SEGMENT
ASSUME     CS:CODE,DS:DATA,SS:STACK
;----------------------------------------------------------
START:     MOV    AX,DATA
           MOV    DS,AX
           MOV    AH,09
           MOV    DX,OFFSET MESS
           INT    21H
;----------------------------------------------------------
           MOV    DX,3FBH
           MOV    AL,80H
           OUT    DX,AL
;----------------------------------------------------------
           MOV    DX,3F9H
           MOV    AL,00
           OUT    DX,AL
           MOV    DX,3F8H
           MOV    AL,18H
           OUT    DX,AL
;----------------------------------------------------------
           MOV    DX,3FBH
           MOV    AL,07
           OUT    DX,AL
;----------------------------------------------------------
           MOV    DX,3F9H
           MOV    AL,01
           OUT    DX,AL
;----------------------------------------------------------
           MOV    DX,3FCH
           MOV    AL,0BH
           OUT    DX,AL
;----------------------------------------------------------
           MOV    AX,350CH            
           INT    21H
           MOV    AX,ES
           MOV    CSREG,AX
           MOV    IPREG,BX
           PUSH   DS
           MOV    DX,SEG INT_PROC
           MOV    DS,DX
           MOV    DX,OFFSET INT_PROC
           MOV    AX,250CH
           INT    21H
           POP    DS                   
           IN     AL,21H
           AND    AL,11100111B
           OUT    21H,AL
;----------------------------------------------------------
           STI
AA:        MOV    AH,01
           INT    16H
           JZ     AA
           MOV    AH,00
           INT    16H
           MOV    BL,AL
           CMP    AL,1BH
           JZ     RT
;----------------------------------------------------------
BB:        MOV    DX,3FDH
           IN     AL,DX
           TEST   AL,00100000B
           JZ     BB
           MOV    AL,BL
           MOV    DX,3F8H
           OUT    DX,AL
           JMP    AA
;---------------------------------------------------------
RT:        MOV   DX,IPREG
           MOV   AX,CSREG
           MOV   DS,AX
           MOV   AX,250CH
           INT   21H
           MOV   AX,4C00H
           INT   21H
;----------------------------------------------------------
INT_PROC:  PUSH   AX
           PUSH   BX
           PUSH   DX
           MOV    DX,3F8H
           IN     AL,DX
           MOV    AH,02
           MOV    DL,AL
           INT    21H
           MOV    AL,20H
           OUT    20H,AL
           POP    DX
           POP    BX
           POP    AX
           STI
           IRET
CODE       ENDS
END        START
;----------------------------------------------------------

⌨️ 快捷键说明

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