piano.asm
来自「利用IBM PC机的系统喇叭发声的电子琴程序,在WINDOWS 98系统可以调试」· 汇编 代码 · 共 54 行
ASM
54 行
DATA SEGMENT
TABLE DW 4B00H,9104H,5000H,8113H,4D00H,7228H,4800H,6815H,5230H,6085H,532EH,5421H,1C0DH,4828H,4F31H,4452H,5032H,4056H,5133H,3614H
DW 4B34H,3417H,4C35H,3042H,4D36H,2710H,4737H,2415H,4838H,2280H,4939H,2031H,4E2BH,1810H,352FH,1708H,372AH,1522H,4A2DH,1356H
ALERT DB 20H,20H,20H,20H,20H,20H,20H,20H,20H,20H,0EH,20H,'.',':',':','MUSIC',':',':','.',20H,0EH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA DX,ALERT
MOV AH,09H
INT 21H
LAB: MOV AL,10110111B
OUT 43H,AL
MOV AH,0
INT 16H
CMP AH,01H
JE EXIT
LEA DI,TABLE
MOV CX,40
CLD
REPNE SCASW
MOV SI,DI
LODSW
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
IN AL,61H
MOV AH,AL
OR AL,03H
OUT 61H,AL
CALL WAITF
MOV AL,AH
OUT 61H,AL
JMP LAB
EXIT: MOV AH,4CH
INT 21H
WAITF PROC NEAR
PUSH CX
PUSH AX
MOV CX,30000
LAB: IN AL,61H
AND AL,10H
CMP AL,AH
JE LAB
MOV AH,AL
LOOP LAB
POP AX
POP CX
RET
WAITF ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?