[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