Warren's Abstract Machine: A Tutorial Reconstruction (1991) [pdf]
wambook.sourceforge.net
wambook.sourceforge.net
"The WAM is an abstract machine consisting of a memory architecture and instruction set tailored to Prolog. It can be realised efficiently on a wide range of hardware, and serves as a target for portable Prolog compilers."
(From the book's foreword.)
I don't know where the code is now, maybe I should make a point of digging it up and fixing it up to work with a recent versions of LLVM.
"Although the WAM is a distillation of a long line of experience in Prolog implementation, it is by no means the only possible point to consider in the design space. For example, whereas the WAM adopts “structure copying” to represent Prolog terms, the “structure sharing” representation used in the Marseille and DEC-10 implementations still has much to recommend it."