📄 yinyin.asm
字号:
code segment
assume cs:code
start :
key: mov ah,01h
int 21h
sub al,30h
sing:
duo: cmp al,1
jne ruai
mov bx ,524
call mido
jmp key
ruai: cmp al,2
jne mi
mov bx,588
call mido
jmp key
mi: cmp al,3
jne fa
mov bx ,660
call mido
jmp key
fa: cmp al,4
jne suo
mov bx ,698
call mido
jmp key
suo: cmp al,5
jne la
mov bx ,784
call mido
jmp key
la: cmp al,6
jne xi
mov bx ,880
call mido
jmp key
xi: cmp al,7
jne key
mov bx ,988
call mido
jmp key
duo1: cmp al,'a'
jne ruai
mov bx ,262
call mido
jmp key
ruai1: cmp al,'s'
jne mi
mov bx,294
call mido
jmp key
mi1: cmp al,'d'
jne fa
mov bx ,330
call mido
jmp key
fa1: cmp al,'f'
jne suo
mov bx ,349
call mido
jmp key
suo1: cmp al,'g'
jne la
mov bx ,392
call mido
jmp key
la1: cmp al,'h'
jne xi
mov bx ,440
call mido
jmp key
xi1: cmp al,'j'
jne key
mov bx ,494
call mido
jmp key
duo2: cmp al,'z'
jne ruai
mov bx ,262
call mido
jmp key
ruai2: cmp al,'x'
jne mi
mov bx,294
call mido
jmp key
mi2: cmp al,'c'
jne fa
mov bx ,330
call mido
jmp key
fa2: cmp al,'v'
jne suo
mov bx ,349
call mido
jmp key
suo2: cmp al,'b'
jne la
mov bx ,392
call mido
jmp key
la2: cmp al,'n'
jne xi
mov bx ,440
call mido
jmp key
xi2: cmp al,'m'
jne key
mov bx ,494
call mido
jmp key
;________________________________________________
;发音函数
;——————8253KZRX———————————————————————————
MIDO PROC near
MOV AL ,0B6H
OUT 43,AL
;________________________________
MOV AX,34DCH
MOV DX ,12H
DIV BX
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
;_______________________8255KZRX________________
IN AL,61H
OR AL,03H
OUT 61H,AL
;_________________________________
call delay
;_____;delay;________________________________
IN AL,61H
AND AL,0FCH
OUT 61H,AL
;_____________________________
RET
MIDO ENDP
DELAY PROC near
MOV DX,01FFH
DEL1: MOV CX,0FFFFH
DEL2: LOOP DEL2
DEC DX
JNZ DEL1
RET
DELAY ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -