+;;; Prints a memory reference to STREAM. VALUE is a list of
+;;; (BASE-REG OFFSET INDEX-REG INDEX-SCALE), where any component may be
+;;; missing or nil to indicate that it's not used or has the obvious
+;;; default value (e.g., 1 for the index-scale). BASE-REG can be the
+;;; symbol RIP or a full register, INDEX-REG a full register. If WIDTH
+;;; is non-nil it should be one of the symbols :BYTE, :WORD, :DWORD or
+;;; :QWORD and a corresponding size indicator is printed first.
+(defun print-mem-access (value width stream dstate)