按下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