Signals

Tim Olson tim at proton.amd.com
Thu Feb 21 13:20:20 AEST 1991


In article <1991Feb20.153845.14999 at b11.ingr.com> dclark at b11.ingr.com (Dave Clark) writes:
| 
| When debugging a program recently, I found that it was crashing due to receipt
| of a signal "SIGEMT."  My manual describes this as:
| 
| 	SIGEMT		07	EMT instruction
| 
| Naturally, "EMT" is not defined anywhere else in the manual.  Can someone out
| there in netland tell me what EMT stands for?

On the PDP-11 processor, the EMT (Emulator Trap) instructions were
opcodes 0104000 - 0104377 that simply caused a specific trap to occur
when executed.  They were presumably to be used for emulating other
instructions not included in the standard instruction set.  The UNIX
kernel for the PDP-11 generated a SIGEMT signal when this trap
occured.

That's what the original "EMT" stands for, but what causes it in your
system is a different matter (and subject to the actual
implementation).  It is often used as the signal generated for
non-floating point arithmetic exceptions (e.g. overflow), since there
usually is no other standard signal for these.  For example, SunOS
generates a SIGEMT when a taddcctv instruction (tagged add, set
condition codes, trap overflow) overflows.



--
	-- Tim Olson
	Advanced Micro Devices
	(tim at amd.com)



More information about the Comp.unix.questions mailing list