[movitz-cvs] CVS update: movitz/losp/muerte/io-port.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri Aug 12 22:55:44 UTC 2005


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv7409

Modified Files:
	io-port.lisp 
Log Message:
Added (setf (io-port :unsigned-byte32)).

Date: Sat Aug 13 00:55:43 2005
Author: ffjeld

Index: movitz/losp/muerte/io-port.lisp
diff -u movitz/losp/muerte/io-port.lisp:1.15 movitz/losp/muerte/io-port.lisp:1.16
--- movitz/losp/muerte/io-port.lisp:1.15	Sat Aug 13 00:50:22 2005
+++ movitz/losp/muerte/io-port.lisp	Sat Aug 13 00:55:43 2005
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Wed Mar 21 22:14:08 2001
 ;;;;                
-;;;; $Id: io-port.lisp,v 1.15 2005/08/12 22:50:22 ffjeld Exp $
+;;;; $Id: io-port.lisp,v 1.16 2005/08/12 22:55:43 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -169,6 +169,19 @@
 	      (:movl :edi :eax)
 	      (:cld))
 	    ,value-var))
+	(:unsigned-byte32
+	 `(let ((,value-var ,value)
+		(,port-var ,port))
+	    (with-inline-assembly (:returns :untagged-fixnum-ecx)
+	      (:load-lexical (:lexical-binding ,port-var) :edx)
+	      (:load-lexical (:lexical-binding ,value-var) :untagged-fixnum-ecx)
+	      (:std)
+	      (:shrl ,movitz::+movitz-fixnum-shift+ :edx)
+	      (:movl :ecx :eax)
+	      (:outl :eax :dx)
+	      (:movl :edi :edx)
+	      (:movl :edi :eax)
+	      (:cld))))
 	(:character
 	 `(let ((,value-var ,value)
 		(,port-var ,port))
@@ -190,7 +203,9 @@
     (:unsigned-byte8
      (setf (io-port port :unsigned-byte8) value))
     (:unsigned-byte16
-     (setf (io-port port :unsigned-byte8) value))
+     (setf (io-port port :unsigned-byte16) value))
+    (:unsigned-byte32
+     (setf (io-port port :unsigned-byte32) value))
     (:character
      (setf (io-port port :character) value))))
 




More information about the Movitz-cvs mailing list