6 [global _intDefaultHandler
]
11 ;[global _int_timertick_handler]
12 [extern _DefaultHandler
]
14 ;[extern _timertick_handler]
15 [extern _ExcepcionHandler
]
23 call _ExcepcionHandler
64 ;_int_timertick_handler:
66 ; call _timertick_handler
76 %define KERNEL_STACK_TOP
0xd8000000
78 %macro SWITCH_TO_KERNEL_STACK
0
79 ; Tenemos que utilizar en stack del kernel
82 mov ebx, KERNEL_STACK_TOP
85 ; Guardamos el stack pointer de la tarea
89 %macro SWITCH_TO_TASK_STACK
0
90 ; Recuperamos el stack pointer de la tarea
93 ; y lo ponemos en funcionamiento
101 ; Aca deberiamos switchear el cr3 de la tarea por el del kernel
106 ; Comente esta macro porque genera problemas cuando no hay tareas activas y
107 ; el codigo que esta ejecutandose es el kernel
108 ;SWITCH_TO_KERNEL_STACK
112 ;SWITCH_TO_TASK_STACK
114 ; y aca recuperar el cr3