Difference between Exceptions and Interrupts?

Other than the vectors are stored in locations pointed to by EXTB and INTB respectively, what are the differences? Am I right Interrupts source are external? But then again, software interrupt are not external

  • The basic function of exceptions and interrupts is the same.
    Exceptions are non-maskable, interrupts (except for software interrupts) can be masked.
    Exceptions are (in general) CPU interrupts.
    Interrupts are peripheral function interrupts.
    EXTB for exceptions has only been introduced in RX V2 CPU. In RX V1 CPUs exceptions vector table had a fixed address at 0xFFFFFFDC.
  • In reply to FrankL:

    Dear Frank,
    >> interrupts (except for software interrupts) can be masked
    In fact non-maskable interrupts (NMI pin, WDT underflow, voltage monitoring, etc) cannot be masked also
  • In reply to osmonn:

    >> interrupts (except for software interrupts) can be masked
    I thought software interrupts can be masked (at least for RX65N)?
    For SWINT, IER03.IEN3 actually enable/disable the interrupt, correct?
  • In reply to osmonn:

    Yes, SWINT must be enabled.
    But an interrupt triggered by INT instruction causes an unconditional trap.
  • Another basic question which is related:

    For LVD Voltage Monitoring 1, it is possible to select the interrupt type:
    LVD1RQSEL - 0: non-maskable interrupt, 1: maskable interrupt

    What's the difference? How does CPU mask an interrupt?
    If we want the interrupt to be maskable, why don't we just disable the interrupt by setting LVD1RIE = 0?

    I think I am confused about "masking an interrupt" vs. "disabling an interrupt"