📄 clock.asm
字号:
.model small
.stack
.code
main proc far
push cs
pop ds
mov ax,351ch
int 21h
mov word ptr old1,bx
mov word ptr old1+2,es
mov ax,@code
mov ds,ax
push ds
mov dx,offset ring
mov ax,seg ring
mov ds,ax
mov al,1ch
mov ah,25h
int 21h
pop ds
in al,21h
and al,11111110b
out 21h,al
sti
mov di,60000
delay: mov si,60000
delay1: dec si
jnz delay1
dec di
jnz delay
mov ah,31h
mov al,0
mov dx,((prog_len+15)/16)+16
int 21h
main endp
ring proc near
push ds
push ax
push cx
push dx
push si
mov ax,@code
mov ds,ax
sti
dec count
jnz exit
; mov dx,offset mess
; mov ah,09h
; int 21h
push ds
mov si,w1
mov ax,0b800h
mov ds,ax
mov byte ptr ds:[si],61h
pop ds
add si,2
mov w1,si
mov count,18
exit:
cli
pop si
pop dx
pop cx
pop ax
pop ds
jmp dword ptr cs:old1
ring endp
w1 dw 0
count dw 1
old1 dd ?
mess db 'bell.',13,10,'$'
prog_len equ $-main
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -