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

📄 l2.asm

📁 简单音乐发声
💻 ASM
字号:
DATA SEGMENT
MSG1 DB 0DH,0AH,'This program is to simulate a pian,key 1-8 express note 1-!'
     DB 'Press key # quit to DOS',0DH,0AH,'$'
MSG2 DB 0DH,0AH,'Inputing key should be between 1 and 8',0DH,0AH,'$'
INITAB DW 8E5H,7F4H,70FH,6ADH,5F1H,54BH,4B7H,472H
DATA ENDS
CODE SEGMENT
      ASSUME  CS:CODE,DS:DATA
START:   MOV AX,DATA
         MOV DS,AX
         LEA DX,MSG1
         MOV AH,09H
         INT 21H
LP1:     MOV AH,01H
         INT 21H
         CMP AL,'#'
         JZ  DONE
         CMP  AL,1BH
         JZ   DONE
         CMP AL,'1'
         JB  ERROR
         CMP AL,'8'
         JA   ERROR
         AND AL,0FH
         DEC AL
         SHL AL,1
         XOR AH,AH
         LEA SI,INITAB
         ADD SI,AX
         MOV BX,[SI]
         MOV AL,01H
         OUT 61H,AL
         MOV AL,10110110B
         OUT 43H,AL
         MOV AL,BL
         OUT 42H,AL
         MOV AL,BH
         OUT 42H,AL
         IN AL,61H
         OR AL,3
         OUT 61H,AL
         CALL  DELAY
         AND  AL,0FCH
         OUT   61H,AL
         JMP   LP1
ERROR:   LEA  DX,MSG2
         MOV AH,09H
         INT 21H
         JMP  LP1
DONE:    MOV   AH,4CH
         INT   21H
DELAY    PROC NEAR
         MOV  CX,0
DL2:     MOV  AX,10000
DL1:     SUB  AX,1
         JNZ  DL1
         LOOP  DL2
         RET
DELAY    ENDP
CODE     ENDS
         END   START

⌨️ 快捷键说明

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