global int_syscall_handler [extern example_syscall] [extern example_syscall_2] [bits 32] int_syscall_handler: cli push ebx push ecx push edx cmp eax, 10 je call_example_syscall cmp eax, 20 je call_example_syscall_2 done: pop ebx pop ecx pop edx mov ebx,eax mov al, 0x20 ;Port number AND command number to Acknowledge IRQ out 0x20, al ;Acknowledge IRQ, so we keep getting interrupts sti iret ;Interrupt-Return call_example_syscall: call example_syscall jmp done call_example_syscall_2 call example_syscall_2 jmp done