[movitz-cvs] CVS movitz

ffjeld ffjeld at common-lisp.net
Thu Feb 28 20:33:06 UTC 2008


Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv24475

Modified Files:
	asm-x86.lisp 
Log Message:
Disassembler for IN instruction.


--- /project/movitz/cvsroot/movitz/asm-x86.lisp	2008/02/28 20:30:09	1.35
+++ /project/movitz/cvsroot/movitz/asm-x86.lisp	2008/02/28 20:33:06	1.36
@@ -6,7 +6,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: asm-x86.lisp,v 1.35 2008/02/28 20:30:09 ffjeld Exp $
+;;;; $Id: asm-x86.lisp,v 1.36 2008/02/28 20:33:06 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -1674,28 +1674,16 @@
 ;;;;;;;;;;; IN
 
 (define-operator/8 :inb (port dst)
-  (when (eq :al dst)
-    (typecase port
-      ((eql :dx)
-       (opcode #xec))
-      ((uint 8)
-       (imm port #xe4 (uint 8) (dst :al))))))
+  (opcode #xec (port :dx) (dst :al))
+  (imm port #xe4 (uint 8) (dst :al)))
 
 (define-operator/16 :inw (port dst)
-  (when (eq :ax dst)
-    (typecase port
-      ((eql :dx)
-       (opcode #xed))
-      ((uint 8)
-       (imm port #xe5 (uint 8) (dst :ax))))))
+  (opcode #xed (port :dx) (dst :ax))
+  (imm port #xe5 (uint 8) (dst :ax)))
 
 (define-operator/32 :inl (port dst)
-  (when (eq :eax dst)
-    (typecase port
-      ((eql :dx)
-       (opcode #xed))
-      ((uint 8)
-       (imm port #xe5 (uint 8) (dst :eax))))))
+  (opcode #xed (port :dx) (dst :eax))
+  (imm port #xe5 (uint 8) (dst :eax)))
 
 ;;;;;;;;;;; INC
 




More information about the Movitz-cvs mailing list