F$IRQ

From NitrOS-9
Jump to: navigation, search
Set IRQ Adds a device to or removes it from the polling table
OS9 F$IRQ 103F 2A

Entry Conditions

D address of the device status register

X 0 (to remove a device) or the address of a packet (to add a device)

  • the address at X is the flip byte
  • the address at X + 1 is the mask byte
  • the address at X + 2 is the priority byte

Y address of the device IRQ service routine

U address of the service routine’s memory area

Exit Conditions

None

Error Output

CC carry set on error

B error code, if any

Additional Information

  • Set IRQ is used mainly by device driver routines. (See “Interrupt Processing” in Chapter 2 for a complete discussion of the interrupt polling system.)
  • Packet Definitions:

The Flip Byte. Determines whether the bits in the device status register indicate active when set or active when cleared. If a bit in the flip byte is set, it indicates that the task is active whenever the corresponding bit in the status register is clear (and vice versa).

The Mask Byte. Selects one or more bits within the device status register that are interrupt request flag(s). One or more set bits identify which task or device is active.

The Priority Byte. Contains the device priority number (0 = lowest priority, 255 = highest priority).

IOMan