汇编,控制扬声器(蜂鸣器)

该博客介绍了在实地址方式DOS平台下实现扬声器开关的代码。通过按下 'y' 打开扬声器,按下 'n' 关闭扬声器。代码经过多次测试和检查,主要用于练习输入输出指令,包含数据段和代码段的详细实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按下n 关闭扬声器 按下y打开扬声器

测试很多次了 代码检查过了  ,代码没问题,应该是需要在实地址方式dos平台才能实现效果

主要用于练习 输入输出指令

data segment
mess db 0dh,0ah,'shuru y dakai,shuru n guan',0dh,0ah,'$'
messg db 0dh,0ah,'guanle',0dh,0ah,'$'
messk db 0dh,0ah,'kaile',0dh,0ah,'$'
messcw db 0dh,0ah,'shu ru cuo wu',0dh,0ah,'$'
data ends
code segment
assume cs:code
start: 
                mov ax,data
                mov ds,ax
                mov dx,offset mess
                mov ah,09h
                int 21h
                mov ah,01h
                int 21h
                cmp al,'y'
                je kai
                cmp al,'n'
                je guan
                mov dx,offset messcw
                mov ah,09h
                int 21h
                jmp jieshu
kai:        call on
                jmp jieshu
guan:   call off
jieshu:        mov ah,4ch
                int 21h
on proc
        push ax
        push dx
        in al,61h
        or al,03h
        out 61h,al
        mov dx,offset messk
        mov ah,09h
        int 21h
        pop ax
        pop dx
        ret
on endp
off proc
        push ax
        push dx
        in al,61h
        and al,0fch
        out 61h,al
        mov dx,offset messg
        mov ah,09h
        int 21h
        pop ax
        pop dx
        ret
off endp        
code ends
end start

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值