Basic constructor macro for stat32 structures.
(make-stat32 [:xregs <xregs>]
[:pc <pc>]
[:memory <memory>]
[:error <error>])
This is the usual way to construct stat32 structures. It simply conses together a structure with the specified fields.
This macro generates a new stat32 structure from scratch. See also change-stat32, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-stat32 (&rest args) (std::make-aggregate 'stat32 args '((:xregs) (:pc) (:memory) (:error)) 'make-stat32 nil))
Function:
(defun stat32 (xregs pc memory error) (declare (xargs :guard (and (xregsp xregs) (ubyte32p pc) (memoryp memory) (booleanp error)))) (declare (xargs :guard t)) (b* ((xregs (mbe :logic (xregs-fix xregs) :exec xregs)) (pc (mbe :logic (ubyte32-fix pc) :exec pc)) (memory (mbe :logic (memory-fix memory) :exec memory)) (error (mbe :logic (acl2::bool-fix error) :exec error))) (list (cons 'xregs xregs) (cons 'pc pc) (cons 'memory memory) (cons 'error error))))