[movitz-cvs] CVS update: movitz/losp/muerte/cpu-id.lisp

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)
participants (1)
-
Frode Vatvedt Fjeld