You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			15 lines
		
	
	
		
			598 B
		
	
	
	
		
			NASM
		
	
			
		
		
	
	
			15 lines
		
	
	
		
			598 B
		
	
	
	
		
			NASM
		
	
| [SECTION .text]
 | |
| [EXTERN handle_keyboard]
 | |
| [GLOBAL handle_keyboard_asm]
 | |
| 
 | |
| ; entry point for an interrupt to trigger a kernelpanic
 | |
| ;
 | |
| align 16
 | |
| handle_keyboard_asm:
 | |
| 	; The interrupt may be triggered asynchronously, therefore the whole context
 | |
| 	; has to be saved and restored, or the interrupted code might not be able to
 | |
| 	; continue. The C++ compiler will only generates code to preserve
 | |
| 	; non-scratch registers in the high-level interrupt handler -- the scratch
 | |
| 	; registers have to be saved (and restored later) manually!
 | |
| 	; TODO(12): Implement the context save and restore for the keyboard interrupt
 |