tagging instructions
data layout
- each value uses 4 words = 32 bits
- 4 bits for tag, 28 bits for data
- a cons cell takes 2 4 word blocks
- symbolic names for tags are
N: a number
P: a pointer to a pair
E: an empty list
F: a forwarding pointer (used during GC)
etc
tagging instructions
- settag R1 #4
tag the value in R1 with the tag 4
- gettag R1 R2
load the tag of the data in R1 into R2