The 7090: An early Lisp Machine?
——————————– Of course, we all know how CAR/CDR came from the address and decrement part of 704/7090 instructions. But tag bits where also present. The 36-bit words could be considered as: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |opcod| decrement ( 15-bit) | tags| address ( 15-bit) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |s 1 2|3 4 5 6 7 8 9 0 1 2 3 4 5 6 7|8 9 0|1 2 3 4 5 6 7 8 9 0 1 2 3 4 5| |0 0 0|0 0 0 0 0 0 0 1 1 1 1 1 1 1 1|1 1 2|2 2 2 2 2 2 2 2 2 3 3 3 3 3 3| | | | | | There are instructions to get or set each of the fields: the operation code, the decrement, the tags and the address. STO CLA store and load a full word (CONS) in the 36-bit accumulator AC. STP store the prefix (ie. operation code, ie. “tags for CDR”). STD store the decrement. STT store the tags (“tags for the CAR”). STA store the address. SXD LXD store and load the decrement (CDR) in a 15-bit index register. SXA LXA store an