Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
12/09/05 09:21
Read: times


 
#104955 - interrupt
Responding to: ???'s previous message
The concept of interrupts on x86 (and PC) is quite different from '51.
Basically, the x86 has only one hardware interrupt source* - an external interrupt - but when it comes active, the interrupting hardware submits the processor an interrupt vector.
To "expand" the number of interrupt lines, in PC a controller is used (in fact, 2 controllers; nowadays integrated in what is called the chipsed). The IRQ lines from ISA bus are fed into this controller, which resolves interrupts enabled/disabled, priorities and a couple of other things, then pulls the single interrupt leg of the processor and tells it the appropriate interrupt vector. For the programmer it means, that he has to program the interrupt controller (it is IO mapped) - enable the interrupt and when it occurs, at the end of ISR reenable it (acknowledge the interrupt); and he has to insert his ISR routines' address into the interrupt vectors table.

A good tutorial on the topic:
http://www.beyondlogic.org/interrupts/interupt.htm

Have fun!

Jan Waclawek

___________
* there are also "software interrupts" - in fact, quick calls to predetermined table - and interrupts caused by program execution exceptions (e.g. division by 0)

List of 33 messages in thread
TopicAuthorDate
Add on card programming            01/01/70 00:00      
   please clarify            01/01/70 00:00      
      RE: please clarify            01/01/70 00:00      
         (E)ISA addressing            01/01/70 00:00      
            IOW and IOR            01/01/70 00:00      
               not explicitly            01/01/70 00:00      
                  IRQ in EISA slot            01/01/70 00:00      
                     interrupt            01/01/70 00:00      
                        QBASIC programming            01/01/70 00:00      
                           reply            01/01/70 00:00      
                              DIP Switch Address Setting in EISA card            01/01/70 00:00      
                                 DIP switches...            01/01/70 00:00      
                                    card design enclosed            01/01/70 00:00      
                                       comparator            01/01/70 00:00      
                           QBASIC live and well.            01/01/70 00:00      
                              NT - not quite            01/01/70 00:00      
                                 timing in Win?            01/01/70 00:00      
                              QBasic Lives!!!            01/01/70 00:00      
   refer to 'Barry B Brey'            01/01/70 00:00      
   EISA Bus interfacing            01/01/70 00:00      
      beware if (E)ISA bus books            01/01/70 00:00      
   Try this?            01/01/70 00:00      
      Power resistor selection            01/01/70 00:00      
         dont do it            01/01/70 00:00      
            LM317 is an option            01/01/70 00:00      
               Wasteful!            01/01/70 00:00      
                  if op can...........            01/01/70 00:00      
                     Power!            01/01/70 00:00      
         basic Ohm's law            01/01/70 00:00      
            Trouble shoot            01/01/70 00:00      
               heating            01/01/70 00:00      
                  Reply : Heating            01/01/70 00:00      
                     if you refer to D4 then            01/01/70 00:00      

Back to Subject List