⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock.asm

📁 时钟中断修改并驻留的汇编程序
💻 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 + -