Merge into main the new state of the operating system/kernel #1
@ -273,116 +273,140 @@ irs31:
 | 
				
			|||||||
irq0:
 | 
					irq0:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $32
 | 
						push $0
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq1
 | 
					.globl irq1
 | 
				
			||||||
irq1:
 | 
					irq1:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $33
 | 
						push $1
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq2
 | 
					.globl irq2
 | 
				
			||||||
irq2:
 | 
					irq2:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $34
 | 
						push $2
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq3
 | 
					.globl irq3
 | 
				
			||||||
irq3:
 | 
					irq3:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $35
 | 
						push $3
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq4
 | 
					.globl irq4
 | 
				
			||||||
irq4:
 | 
					irq4:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $36
 | 
						push $4
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq5
 | 
					.globl irq5
 | 
				
			||||||
irq5:
 | 
					irq5:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $37
 | 
						push $5
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq6
 | 
					.globl irq6
 | 
				
			||||||
irq6:
 | 
					irq6:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $38
 | 
						push $6
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq7
 | 
					.globl irq7
 | 
				
			||||||
irq7:
 | 
					irq7:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $39
 | 
						push $7
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq8
 | 
					.globl irq8
 | 
				
			||||||
irq8:
 | 
					irq8:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $40
 | 
						push $8
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq9
 | 
					.globl irq9
 | 
				
			||||||
irq9:
 | 
					irq9:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $41
 | 
						push $9
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq10
 | 
					.globl irq10
 | 
				
			||||||
irq10:
 | 
					irq10:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $42
 | 
						push $10
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq11
 | 
					.globl irq11
 | 
				
			||||||
irq11:
 | 
					irq11:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $43
 | 
						push $11
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq12
 | 
					.globl irq12
 | 
				
			||||||
irq12:
 | 
					irq12:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $44
 | 
						push $12
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq13
 | 
					.globl irq13
 | 
				
			||||||
irq13:
 | 
					irq13:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $45
 | 
						push $13
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq14
 | 
					.globl irq14
 | 
				
			||||||
irq14:
 | 
					irq14:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $46
 | 
						push $14
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl irq15
 | 
					.globl irq15
 | 
				
			||||||
irq15:
 | 
					irq15:
 | 
				
			||||||
	cli 
 | 
						cli 
 | 
				
			||||||
	push $0
 | 
						push $0
 | 
				
			||||||
	push $47
 | 
						push $15
 | 
				
			||||||
	jmp irs_common
 | 
						jmp irq_common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					irq_common:
 | 
				
			||||||
 | 
						pusha
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mov %ds, %ax
 | 
				
			||||||
 | 
						push %eax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mov $0x10, %ax
 | 
				
			||||||
 | 
						mov %ax, %ds
 | 
				
			||||||
 | 
						mov %ax, %es
 | 
				
			||||||
 | 
						mov %ax, %fs
 | 
				
			||||||
 | 
						mov %ax, %gs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						call irq_handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pop %eax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mov %ax, %ds
 | 
				
			||||||
 | 
						mov %ax, %es
 | 
				
			||||||
 | 
						mov %ax, %fs
 | 
				
			||||||
 | 
						mov %ax, %gs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						popa
 | 
				
			||||||
 | 
						add  $8, %esp  # cleans push error and irs code
 | 
				
			||||||
 | 
						sti
 | 
				
			||||||
 | 
						iret # pops 5 things at once: CS, EIP, EFLAGS, SS, and ESP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
irs_common:
 | 
					irs_common:
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user