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

📄 idt.asm

📁 TestOS - 带简单GUI的DOS扩展OS// 源代码// ASM// 英文
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;=========================================================;
; Idt                                            11/12/03 ;
;---------------------------------------------------------;
; DOS EXTREME OS V0.01                                    ;
; by Craig Bamford.                                       ;
;                                                         ;
; Defines idt descriptors                                 ;                    
;=========================================================;

idt:

;0 interrupt 0h
	dw div_error		; div error
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;1 interrupt 1h
	dw debug_exception	; debug exception
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;2 interrupt 2h
	dw nmi_interrupt	; non maskable interrupt
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;3 interrupt 3h
	dw int3_trap		; int3 trap
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;4 interrupt 4h
	dw into_trap		; into trap
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;5 interrupt 5h
	dw bound_trap		; bound trap
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;6 interrupt 6h
	dw invalid_instruction	; invalid instruction
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;7 interrupt 7h
	dw no_coprocessor	; no coprocessor
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;8 interrupt 8h
	dw double_fault		; double fault
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;9 interrupt 9h
	dw coprocessor_segment_overrun	; coprocessor segment overrun 1 
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;10 interrupt Ah
	dw invalid_tss		; invalid tss
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;11 interrupt Bh
	dw segment_not_present	; segment not present
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;12 interrupt Ch
	dw stack_fault		; stack fault
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;13 interrupt Dh
	dw gpf			; general protection fault
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;14 interrupt Eh
	dw page_fault		; page fault
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;15 interrupt Fh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;16 interrupt 10h
	dw coprocessor_error	; coprocessor error
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;17 interrupt 11h
	dw alignment_check	; alignment check
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;18 interrupt 12h
	dw machine_check	; machine check 
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;19 interrupt 13h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;20 interrupt 14h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;21 interrupt 15h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;22 interrupt 16h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;23 interrupt 17h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;24 interrupt 18h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;25 interrupt 19h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;26 interrupt 1Ah
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;27 interrupt 1Bh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;28 interrupt 1Ch
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;29 interrupt 1Dh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;30 interrupt 1Eh
	dw unhandled_int	; reserved
	dw sys_code		
	db 0
	db sys_interrupt
	dw 0

;31 interrupt 1Fh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;32 interrupt 20h <- IRQ 0
	dw clock_tick		; timer
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;33 interrupt 21h <- IRQ 1
	dw keyboard_irq		; keyboard
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;34 interrupt 22h <- IRQ 2
	dw unhandled_irq	; reserved (8259B)
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;35 interrupt 23h <- IRQ 3
	dw unhandled_irq	; COM 1,3
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;36 interrupt 24h <- IRQ 4
	dw unhandled_irq	; COM 2,4
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;37 interrupt 25h <- IRQ 5
	dw unhandled_irq	; LTP
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;38 interrupt 26h <- IRQ 6
	dw unhandled_irq	; primary IDE drives (floppy drive)
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;39 interrupt 27h <- IRQ 7
	dw unhandled_irq	; secondary IDE drives (hdd?)
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;40 interrupt 28h <- IRQ 8
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;41 interrupt 29h <- IRQ 9
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;42 interrupt 2Ah <- IRQ A
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;43 interrupt 2Bh <- IRQ B
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;44 interrupt 2Ch <- IRQ C
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;45 interrupt 2Dh <- IRQ D
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;46 interrupt 2Eh <- IRQ E
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;47 interrupt 2Fh <- IRQ F
	dw unhandled_irq	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;48 interrupt 30h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;49 interrupt 31h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;50 interrupt 32h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;51 interrupt 33h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;52 interrupt 34h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;53 interrupt 35h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;54 interrupt 36h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;55 interrupt 37h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;56 interrupt 38h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;57 interrupt 39h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;58 interrupt 3Ah
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;59 interrupt 3Bh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;60 interrupt 3Ch
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;61 interrupt 3Dh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;62 interrupt 3Eh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;63 interrupt 3Fh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;64 interrupt 40h
	dw unhandled_int        ; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;65 interrupt 41h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;66 interrupt 42h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;67 interrupt 43h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;68 interrupt 44h
	dw unhandled_int	; reserved 
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;69 interrupt 45h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;70 interrupt 46h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;71 interrupt 47h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;72 interrupt 48h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;73 interrupt 49h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;74 interrupt 4Ah
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;75 interrupt 4Bh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;76 interrupt 4Ch
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;77 interrupt 4Dh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;78 interrupt 4Eh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;79 interrupt 4Fh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;80 interrupt 50h
	dw unhandled_int	; reserved
	dw sys_code		
	db 0
	db sys_interrupt
	dw 0

;81 interrupt 51h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;82 interrupt 52h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;83 interrupt 53h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;84 interrupt 54h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;85 interrupt 55h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;86 interrupt 56h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;87 interrupt 57h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;88 interrupt 58h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;89 interrupt 59h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;90 interrupt 5Ah
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;91 interrupt 5Bh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;92 interrupt 5Ch
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;93 interrupt 5Dh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;94 interrupt 5Eh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;95 interrupt 5Fh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;96 interrupt 60h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;97 interrupt 61h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;98 interrupt 62h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;99 interrupt 63h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;100 interrupt 64h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;101 interrupt 65h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;102 interrupt 66h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;103 interrupt 67h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;104 interrupt 68h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;105 interrupt 69h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;106 interrupt 6Ah
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;107 interrupt 6Bh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;108 interrupt 6Ch
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;109 interrupt 6Dh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;110 interrupt 6Eh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;111 interrupt 6Fh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;112 interrupt 70h
	dw unhandled_int	; reserved
	dw sys_code		
	db 0
	db sys_interrupt
	dw 0

;113 interrupt 71h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;114 interrupt 72h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;115 interrupt 73h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;116 interrupt 74h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;117 interrupt 75h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;118 interrupt 76h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;119 interrupt 77h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;120 interrupt 78h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;121 interrupt 79h
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;122 interrupt 7Ah
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;123 interrupt 7Bh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;124 interrupt 7Ch
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;125 interrupt 7Dh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;126 interrupt 7Eh
	dw unhandled_int	; reserved
	dw sys_code
	db 0
	db sys_interrupt
	dw 0

;127 interrupt 7Fh

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -