diff --git a/compiler/x86/insts.lisp b/compiler/x86/insts.lisp
index cd5fd8259fe16d2195bcd1e7dffb7ff67836801b..cb8e2d54990ce984f03698572b00d3262e796b88 100644
--- a/compiler/x86/insts.lisp
+++ b/compiler/x86/insts.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.21 2001/05/08 12:32:34 pw Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.22 2001/06/04 17:58:35 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -431,10 +431,26 @@
 								      dstate))
 		    (disassem:maybe-note-assembler-routine offset
 							   nil
-							   dstate)))
+							   dstate)
+		    (let ((offs (- offset disassem::nil-addr)))
+		      (when (typep offs 'offset)
+			(disassem::maybe-note-nil-indexed-symbol-slot-ref offs
+									  dstate)))))
 	      (princ offset stream))))))
   (write-char #\] stream))
 
+(defun print-imm-data (value stream dstate)
+  (let ((offset (- value disassem::nil-addr)))
+    (if (zerop offset)
+	(format stream "#x~X" value)
+	(format stream "~A" value))
+    (when (typep offset 'offset)
+      (or (disassem::maybe-note-nil-indexed-object offset dstate)
+	  (disassem::maybe-note-assembler-routine value stream dstate)
+	  (nth-value 1
+		     (disassem::note-code-constant-absolute offset
+							    dstate))))))
+
 (defun print-reg/mem (value stream dstate)
   (declare (type (or list reg) value)
 	   (type stream stream)
@@ -586,6 +602,7 @@
 		 (disassem:read-suffix
 		  (width-bits (disassem:dstate-get-prop dstate 'width))
 		  dstate))
+  :printer #'print-imm-data
   )
 
 (disassem:define-argument-type signed-imm-data