📄 sound.asm
字号:
NoPCsound MACRO
IN AL,61h ; Ambil data Port 61h
AND AL,0FCh ; Matikan bit ke 6 & 7
OUT 61h,AL ; Masukkan nilainya pada Port 61h
ENDM
PCsound MACRO Hz
MOV AL,0B6h ;
OUT 43h,AL ; Persiapkan Timer
MOV DX,0012h ;
MOV AX,3540h ; Bagi 123540H dengan frekwensi
MOV BX,Hz ; yang akan dihasilkan.
DIV BX ; < 123540:Hz > , hasil pada AX
OUT 42h,AL ; Masukkan byte rendah dahulu.
MOV AL,AH ; Port hanya dapat melalui AL/AX
OUT 42h,AL ; Masukkan byte tingginya.
IN AL,61h ; Ambil data port 61h <Speaker>
OR AL,03 ; Jadikan Bit ke 6 & 7 menjadi 1
OUT 61h,AL ; Bunyikan speaker
ENDM
;/=========================================================\;
; Program : NYAMUK.ASM ;
; Author : S抰o ;
; Fungsi : membunyikan speaker dan mengatur ;
; frekwensinya melalui Timer. ;
; Frekwensi yang dihasilkan dapat ;
; digunakan untuk mengusir nyamuk ;
;\=========================================================/;
.MODEL SMALL
.CODE
ORG 100h
Proses :
PCsound 300 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 400 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 500 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 600 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 700 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 800 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 650 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
PCsound 350 ; Frekwensi untuk mengusir nyamuk.
MOV AH,00
INT 16h ; Readkey
NoPCsound ; Matikan suara.
INT 20h ; selesai
END Proses
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -