汇编钢琴

;电子琴

data segment
    note dw 262,294,330,349,392,440,494,523,578,659,698
data ends

code segment
    assume ds:data , cs:code
main proc far
    mov ax,data
    mov ds,ax
    
begin:
    call input
    call sound
    cmp si,80h    
    jnz begin
    
    mov ah,4ch
    int 21h
main endp

input proc near
    push ax
    push bx    
    mov ah,01
    int 21h 
    sub al,30h
    mov bl,2
    mul bl
    sub al,2
    mov si,al
    mov di,note[si]
    pop bx
    pop ax
    ret
input endp


sound proc near
    mov al,0b6h
    out 43,al
    mov dx,12h
    mov ax,348ch
    div di
    out 42h,al
    mov al,ah
    out 42h,al
    in al,61h
    mov ah,al
    or al,3
    out 61h,al
wait1:
    mov cx,15
delay:
    loop delay
    dec bx
    jnz wait1
    mov al,ah
    out 61h,al
    ret
sound endp

code ends
    end main

 

转载于:https://www.cnblogs.com/da-peng/p/5565440.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值