电子琴程序不能发音
PUSH SICMP AL,1
JL QUIT
CMP AL,8
JG QUIT ;若不在'1'-'8'之间转QUIT,不发音
MOV NUM,AL ;求出相应的时间常数的序号
MOV CX,20 ;取60次32个正弦波数据
DDD:
MOV SI,0
LLL:
MOV AL,DATA1[SI] ;取正弦波数据
MOV DX,IO0832A
out 42h,dl
mov dl,dh
out 42h,dl
INC SI
CMP SI,32 ;是否取完32个数据
JL LLL ;若没有,则继续
LOOP DDD ;总循环次数60是否完,没有,则继续
A:
MOV DX,PORT1 ;扫描实现任意键暂停
IN AL,DX ;读状态
AND AL,01H ;判断是否有按键
JNZ FFF; ;按键延时
JMP QUIT
FFF: MOV CX,60
JMP A
QUIT:
POP SI
RET