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

📄 xu6.asm

📁 三极管显示图
💻 ASM
字号:
STACK SEGMENT PARA STACK 'STACK'
      DB 256 DUP(0)
STACK ENDS
DATA  SEGMENT PARA PUBLIC 'DATA'
DAT   DB 00H,20H
      DB 00H,20H
      DB 00H,20H
      DB 00H,20H
      DB 01H,40H
      DB 01H,80H 
      DB 01H,00H
      DB 0FH,00H
      DB 01H,00H
      DB 01H,80H
      DB 01H,60H 
      DB 00H,60H 
      DB 00H,20H
      DB 00H,20H
      DB 00H,20H
      DB 00H,00H
PARM  DB 128 DUP(0)      
      DATA  ENDS
CODE  SEGMENT PARA PUBLIC 'CODE'
      ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
       MOV ES,AX
       MOV SI,80H
       MOV DI,OFFSET PARM
       MOV CX,80H
       CLD
       REP MOVSB
       MOV DS,AX
       MOV AL,6
       CALL SETMODE 
       MOV AX,0B800H
       MOV ES,AX
       MOV SI,OFFSET DAT
       MOV DI,0
       MOV BX,OFFSET PARM
       CMP [BX],2
       JZ L
       CALL AUDION
       JMP END
L:     CMP [BX+2],31H
       JZ L1
       CMP [BX+2],32H
       JZ L2     
       CALL AUDION
       JMP END
L1:    CALL EXTEND1
       JMP END
L2:    CALL EXTEND2
END:   MOV AH,0
       INT 16H
       MOV AH,4CH
       INT 21H
SETMODE PROC NEAR
        MOV AH,0
        INT 10H
        RET
SETMODE ENDP        
AUDION PROC NEAR
       CLD
L01:    MOV CX,8
L02:    MOV BX,2
L03:    MOVSB 
       DEC BX
       JNZ L03
       ADD DI,4EH
       ADD SI,2
       LOOP L02
       CMP SI,22H
       JZ L04
       ADD DI,1D80H
       MOV SI,OFFSET DAT
       ADD SI,2
       JMP L01
L04:    RET
AUDION ENDP
EXTEND1 PROC NEAR
        MOV CX,10H
L11:    MOV BX,2
L12:    MOV AH,0
        MOV AL,[SI]
        CALL EXTEND
        MOV ES:[DI],AH
        MOV ES:[DI+1],AL
        INC DI
        INC DI
        INC SI
        DEC BX
        JNZ L12
        ADD DI,4CH
        LOOP L11
        RET
EXTEND1 ENDP
EXTEND2 PROC NEAR
        MOV CX,10H
L21:    MOV BX,2
L22:    MOV AH,0
        MOV AL,[SI]
        CALL EXTEND
        MOV DL,AL
        MOV AL,AH
        CALL EXTEND
        MOV ES:[DI],AH
        MOV ES:[DI+1],AL
        MOV AL,DL
        CALL EXTEND
        MOV ES:[DI+2],AH
        MOV ES:[DI+3],AL        
        ADD DI,4
        INC SI
        DEC BX
        JNZ L22
        ADD DI,98H
        LOOP L21
        RET
EXTEND2 ENDP
EXTEND  PROC NEAR
        PUSH DX
        PUSH CX
        PUSH BX
        MOV DX,0
        MOV CL,0
LP:     MOV BX,1
        SHL BX,CL
        PUSH AX
        AND AX,BX
        SHL AX,CL
        ADD DX,AX
        POP AX
        INC CL
        CMP CL,8
        JNZ LP
        MOV AX,DX
        POP BX
        POP CX
        POP DX
        RET
EXTEND  ENDP                
CODE	ENDS
	END START
 

⌨️ 快捷键说明

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