Cómo utilizar el lenguaje ensamblador para hacer que el altavoz de la placa base emita sonido y apague el sonido
Nada más que decir
Dáselo al programa
CODE
SEGMENT
ASSUME
CS:CODE
p>INICIO:
MOV
DX,10
CANTAR:
PUSH<
DX
MOV
BX,1000
LLAMADA
MIDO
llamada
retraso
POP
DX
DEC
DX
JNZ
CANTAR
;JNZ no es igual a cero\no es igual
Bit de bandera ZF=0
MOV
AH,4CH
INT
21H
MIDO
PROC
MOV
AL,0B6H
;0B6H =10110101
El contador 2 es el modo 2
Usa el conteo decimal
Lee y escribe el byte bajo primero
Luego leer y escribir el byte alto
OUT
43H,AL
palabra de control del modo de escritura
MOV
AX,34DCH
MOV
DX,12H
DIV
BX
SALIDA
42H, AL
;Escribir contador de bytes bajos
MOV
AL,AH
OUT
42H, AL
; Escribir contador de bytes altos
IN
AL,61H
; Dirección de puerto de PB
OR
AL,03H
;D1D0=PB1PB0==11
Otros permanecen sin cambios
PB=1DELAY p >
PROC
MOV
DX,01FFH
DEL1:
MOV
CX, 0FFFFH
DEL2:
BUCLE
DEL2
DEC
DX
JNZ
DEL1
RET
DELAY
ENDP
CÓDIGO
FINALIZA
END
INICIO
DEL2:
BUCLE
DEL2
DEC
DIC