This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# 1 "mouse.S"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "../../include/linux/config.h" 1
# 36 "../../include/linux/config.h"
# 47 "../../include/linux/config.h"
# 2 "mouse.S" 2
.globl mouse_interrupt
mouse_interrupt:
pushl %eax
pushl %ebx
pushl %ecx
pushl %edx
push %ds
movl $0x10,%eax
mov %ax,%ds #为后面的call做准备
xor %eax,%eax
#鼠标对应数据寄存器端口是$0x60,通过inb命令将该数据寄存器中
#存放的一个字节信息读入到寄存器AL中,
#用户对鼠标的全部信息包含在这一个字节的数据编码里
inb $0x60,%al #读入鼠标数据
call readmouse #调用c函数进行细致处理
addl $4,%esp
#在mouse_interupt 处理完中断以后,给8259A发送结束中断(EOI)指令
movb $0x20,%al
outb %al,$0xA0
outb %al,$0x20
pop %ds
popl %edx
popl %ecx
popl %ebx
popl %eax
iret