I've dug into the origin of the word "trap" in computer engineering. The older documented mentions of the term I can find, is the "trapping mode" in the IBM 704, specifically in the 1955 manual. Anyone aware of any older mentions?
Why I ask
The IBM 704 manual from 1955 is the oldest reference of the word "trap" that I have found. They have a "trapping mode" where they have "transfer traps", for debugging, where all branch instructions (both conditional and unconditional) transfer control to what is esentially the debugger. I.e., they have a "step into the next subroutine call" debug feature, and they are explicit with that "trapping mode" is specfically for that: "the major use of the trapping mode is in program testing, where it permits observation of the flow of control" (the 1955 manual, page 11). If the IBM 704 is actually one of the first uses of the word "trap" in computer architecture, then it is interesting, etymologically, that "traps" were originally a "trapping mode" that hijacked control at branch instructions, rather than the "trap instructions" that it developed into. The difference is that it is not a "software trap" since there is no instruction for it in the software. It is an external "trap". The meaning, rhetorically, becomes a bit different. The processor actually "traps" the program from outside, literally, rather than the program "trapping itself" through an instruction, which is a rhetorically illogical concept.
I am interested in if the word "trap" predates the IBM 704, because I want to falsify or validate my idea about the etymology of "software trap".