anchor.diff:  		(loop for i from 0 to 31 collecting (setf (gethash (intern (format nil "R~d" i)) hash) i)) hash))
   
   (defparameter *ee-registers* (make-ee-registers-hash)) 
  +; (defparameter *fpu-registers* (make-ee-registers-hash "FP")) 
   
   (defun print-hash-entry (key value)
       (format t "The value associated with the key ~S is ~S~%" key value))
  
positive.code: 		(write-value stream (logior (ash instruction (encoding-inst enc)) 
  																(ash rs (encoding-rs enc))
  																(ash rt (encoding-rt enc))
  																(ash (nth 3 arguments) (encoding-imm enc))) 4)))
  
  ;;; instruction type 1
  ;;; 
  ;;; <operand> <register>, <register>, <register> 
  ;;;
  
  (defun inst-type1 (stream instruction special-value arguments enc) 
  	(when (not (equal (length arguments) 4))
  		(error (format nil "Expected 4 arguments si-type <operand> rd, rs, rt, was given ~{~a~^, ~}" arguments)))
  	(multiple-value-bind (rd rt rs) (validate-rd-rt-rs arguments)
  		(write-value stream (logior (ash special-value (encoding-spec enc)) 
  																(ash rs (encoding-rs enc))
  																(ash rt (encoding-rt enc))
  																(ash rd (encoding-rd enc))
  
negative.code: (defun inst-type5 (stream instruction arguments enc)
  	(when (not (equal (length arguments) 2))
  		(error (format nil "Expected 2 arguments si-type <operand> rt, rs/base, <immediate> was given ~{~a~^, ~}" arguments)))
  	(let ((rt (gethash (first arguments) *ee-registers*)))
  		(when (not rt)
  			(error (format nil "Invalid register name for rt ~s" (first arguments))))
  		(write-value stream (logior (ash instruction (encoding-inst enc)) 
  