汇编语言(音乐播放小程序)

;音乐程序

assume cs:codeseg, ds:dataseg, ss:stackseg
dataseg segment
; 《粉刷匠》
; 频率
mus_freq dw 392,330,392,330
		 dw 392,330,262
		 dw 294,349,330,294
		 dw 392
		 dw 392,330,392,330
		 dw 392,330,262
		 dw 294,349,330,294
		 dw 262
		 dw 294,294,349,349
		 dw 330,262,392
		 dw 294,349,330,294
		 dw 392
		 dw 392,330,392,330
		 dw 392,330,262
		 dw 294,349,330,294
		 dw 262
		 dw -1
; 音长
mus_time dw 3 dup(10h,10h,10h,10h,10h,10h,20h,10h,10h,10h,10h,40h)
		 dw 10h,10h,10h,10h,10h,10h,20h,10h,10h,10h,10h,20h
;---------------------------------------------------
dataseg ends

stackseg segment stack
   db 100h dup (0)
stackseg ends

codeseg segment
start:
    mov ax, stackseg
    mov ss, ax
    mov sp, 100h

    mov ax, dataseg
    mov ds, ax

    ;取偏移地址
    lea si, mus_freq
    lea di, mus_time

play:
    mov dx, [si]
    cmp dx, -1
    je end_play
    call sound
    add si, 2
    add di, 2
    jmp play

end_play:
    mov ax, 4c00h
    int 21h

;演奏一个音符
;入口
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值