📄 001.asm
字号:
stack segment stack
dw 64 dup(?)
stack ends
data segment
msg db ' The signal! $'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov ah,06h
mov bx,offset msg
int 10h
mov dx,63h ;8255 PB:in PA:out 0
mov al,10000010B
out dx,al
mov dx,43h ;8253 counter 2,way 3
mov al,10110100B
out dx,al
wav: mov dx,61h
in al,dx
mov ah,al
and al,00000001b
jnz wav1
mov ah,al
and al,00000010b
jnz wav2
mov ah,al
and al,00000100b
jnz wav3
jmp wav
wav1: mov dx,42h
mov al,01111100b ;1.19MHZclock
out dx,al
mov al,101110b
out dx,al
call delay
jmp wav
wav2: mov dx,42h
mov al,10100110b
out dx,al
mov al,100b
out dx,al
call delay
jmp wav
wav3: mov dx,42h
mov al,1110111b
out dx,al
call delay
jmp wav
delay proc near
push ax
push cx
mov cx,0ffffh
a: mov ax,77h
loop a
pop cx
pop ax
ret
delay endp
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -