I disagree. TRAP according to the processor handbook was intended to be used for what UNIX calls system calls. EMT was the emulator trap used to simulate other operating systems on the same hardware. Oddly, for some reason, all the DEC OSes use EMT instructions for their system calls. This came in handy when JHU ported BasicPlus from RSTS to UNIX. That executable could run fine on UNIX because we caught the few EMT traps that mattered to us and simulated them. The only thing we had to do other than that was to add a "nostack()" system call that got rid of the normal UNIX-maintained stack starting at the address space (RSTS executables like many DEC OSs used a stack that started around 1000). Many of the UNIX signals come straight from PDP-11 traps: SIGFPE, SIGIOT, SIGSEGV, SIGBUS, SIGILL, SIGEMT. and those traps invoked those signals. FPE - floating point exception ILL - illegal exception (either unknown opcode or CERTAIN of the privileged instructions, others were ignored) BUS - fatal unibus timeout trap. Usually an attempt to access a memory/unibus address that doesn't respond, or to do word accesses on odd boundaries. SEGV - accessing memory not mapped to you IOT - the IOT instruction BPT - the BPT instruction TRAP, EMT - these instructions