[movitz-cvs] CVS update: ia-x86/codec.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Sat Aug 13 20:24:07 UTC 2005
Update of /project/movitz/cvsroot/ia-x86
In directory common-lisp.net:/tmp/cvs-serv27770
Modified Files:
codec.lisp
Log Message:
Sign-extend the displacement part of an instruction when decoding it.
Date: Sat Aug 13 22:24:05 2005
Author: ffjeld
Index: ia-x86/codec.lisp
diff -u ia-x86/codec.lisp:1.6 ia-x86/codec.lisp:1.7
--- ia-x86/codec.lisp:1.6 Thu Sep 2 11:01:19 2004
+++ ia-x86/codec.lisp Sat Aug 13 22:24:04 2005
@@ -1,6 +1,6 @@
;;;;------------------------------------------------------------------
;;;;
-;;;; Copyright (C) 2000, 2001, 2002, 2004,
+;;;; Copyright (C) 2000, 2001, 2002, 2004-2005,
;;;; Department of Computer Science, University of Tromso, Norway
;;;;
;;;; Filename: codec.lisp
@@ -9,7 +9,7 @@
;;;; Created at: Thu May 4 15:16:45 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: codec.lisp,v 1.6 2004/09/02 09:01:19 ffjeld Exp $
+;;;; $Id: codec.lisp,v 1.7 2005/08/13 20:24:04 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -701,11 +701,12 @@
(incf byte-pos (template-instr-immediate-numo template))
;; displacement
(setf (instr-symbolic-displacement is)
- (complex (change-endian (ldb (byte (* 8 (template-instr-displacement-numo template))
- (* 8 byte-pos))
- datum)
- (template-instr-displacement-numo template))
- (template-instr-displacement-numo template)))
+ (sign-extend-complex
+ (complex (change-endian (ldb (byte (* 8 (template-instr-displacement-numo template))
+ (* 8 byte-pos))
+ datum)
+ (template-instr-displacement-numo template))
+ (template-instr-displacement-numo template))))
(incf byte-pos (template-instr-displacement-numo template))
;; SIB
(when (template-instr-sib-p template)
More information about the Movitz-cvs
mailing list