Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv5396
Modified Files: cpu-id.lisp Log Message: Added decode-eflags.
Date: Wed Jun 2 16:49:27 2004 Author: ffjeld
Index: movitz/losp/muerte/cpu-id.lisp diff -u movitz/losp/muerte/cpu-id.lisp:1.4 movitz/losp/muerte/cpu-id.lisp:1.5 --- movitz/losp/muerte/cpu-id.lisp:1.4 Fri Apr 23 06:00:17 2004 +++ movitz/losp/muerte/cpu-id.lisp Wed Jun 2 16:49:27 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Mon Apr 15 22:47:13 2002 ;;;; -;;;; $Id: cpu-id.lisp,v 1.4 2004/04/23 13:00:17 ffjeld Exp $ +;;;; $Id: cpu-id.lisp,v 1.5 2004/06/02 23:49:27 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -262,6 +262,16 @@
(defun eflags () (eflags)) + +(defconstant +eflags-map+ + '(:cf nil :pf nil :af nil :zf :sf + :tf :if :df :of :iopl0 :iopl1 :nt nil + :rf :vm :ac :vif :vip :id)) + +(defun decode-eflags (&optional (eflags (eflags))) + (loop for flag in +eflags-map+ as bit upfrom 0 + when (and flag (logbitp bit eflags)) + collect flag))
(define-compiler-macro (setf eflags) (value) `(with-inline-assembly (:returns :register)