NMI exceptions (TRAP 2) have no hardware defined Error Code. OS/2 uses the error code in the trap screen to indicate the source of the NMI as follows:
┌──────────────┬──────────────┬────────────────────────────────────────┐ │Error Code │Msg No │Description │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0000 │SYS1944 │Software caused NMI (INT 2) │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0001 │SYS1945 │RAM error, check memory (parity error) │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0002 │SYS1946 │Adapter caused error (I/O channel check)│ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0003 │SYS1947 │Check bus mastering adapters, update │ │ │ │adapter drivers. Also disable bus │ │ │ │mastering on failing adapters as a │ │ │ │problem determination tool to figure out│ │ │ │which adapter is causing the failure. │ │ │ │Contact the adapter vendor for further │ │ │ │assistance. (DMA timeout) │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0004 │SYS1948 │A device driver or Dos application │ │ │ │disabled interrupts too long. Contact │ │ │ │appropriate software vendor for updated │ │ │ │software (Watchdog timeout). │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0005 │SYS3140 │Contact application or device driver │ │ │ │hardware vendor (software generated │ │ │ │NMI). │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0006 │SYS3141 │see error code 0003. │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0007 │SYS3142 │see error code 0004. │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0008 │SYS3143 │see error code 0002. │ ├──────────────┼──────────────┼────────────────────────────────────────┤ │0009 │SYS3149 │see error code 0001. │ └──────────────┴──────────────┴────────────────────────────────────────┘