Пример #1
0
        private static unsafe void ProcessInterrupt(ref IRQContext xContext)
        {
            var interrupt = xContext.Interrupt;
            var Handler   = xINT[interrupt];

            if (Handler != null)
            {
                Handler(ref xContext);
            }
            else if (interrupt < 0x20)
            {
                Fault.Handle(ref xContext);
            }
            else
            {
                Debug.Write("Unhandled Interrupt %d\n", (uint)interrupt);
            }

            // Send End of Interrupt for IRQs
            if (interrupt >= 0x20)
            {
                PIC.EndOfInterrupt(interrupt);
            }
        }