isr1:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr2:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr3:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr4:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr5:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr6:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr7:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr8:
	     cli
	     hlt
	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp


	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa

	     add esp,0x8



	     iret

isr9:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr10:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp


	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa
	     add esp,0x8



	    iret

isr11:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa
	     add esp,0x8



	    iret

isr12:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa
	     add esp,0x8



	    iret

isr13:


	     pusha
	     mov eax,0xdead	  ; get error code
	     push gs
	     push fs
	     push es
	     push ds
	     push esp

	     mov edi,0xb8000
	     mov ah,0x0f
	     mov al,"4"
	     mov [edi],ax

	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr14:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp

	     mov eax,0xdead

	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr15:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr16:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr17:
	     pop eax
	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp
	     mov edi,0xb800
	     mov ah,0x0f
	     mov al,"5"
	     mov [edi],ax

	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr18:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr19:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret

isr20:

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp



	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret


isr34:	    ; keyboard

	     pusha
	     push gs
	     push fs
	     push es
	     push ds
	     push esp
	     call keyboard.driver
	     mov al, 0x20		  ;Send EOI (end of interrupt)
	     out 0x20, al
	     out 0xa0,al

	     pop esp
	     pop ds
	     pop es
	     pop fs
	     pop gs
	     popa




	    iret
