fixed | and & ops, added a new dep (cl-fad util library)

This commit is contained in:
2024-08-01 00:08:18 +03:00
parent 56f71f43b2
commit 8713ffbd95
2 changed files with 13 additions and 13 deletions

View File

@@ -112,18 +112,17 @@
(with-gensyms (out-stream)
(destructuring-bind (op-name . args) (mklist op-name+args)
`(progn
,@(append
(unless (null lex)
`((push ',op-name *identifiers*)))
`((setf (gethash ,(string op-name) *operations*)
(lambda (,out-stream ,@args)
,@(mapcar #'(lambda (group) (expand-group group out-stream
:indent indent))
(group-by-syntax body))))))))))
,@(unless (null lex)
`((push ',op-name *identifiers*)))
(setf (gethash ,(string op-name) *operations*)
(lambda (,out-stream ,@args)
,@(mapcar #'(lambda (group) (expand-group group out-stream
:indent indent))
(group-by-syntax body))))))))
;;; TODO: Turn stack operation comments to DEFOP option,
;;; which then can be used by the user as a documentation
;;; TODO: Better yet, generate the asm code directly from
;;; DONE: Better yet, generate the asm code directly from
;;; the stack op documentation (this seems easily doable)
;;; Hopefully these two are done, need testing...
@@ -193,10 +192,10 @@
(rbx rcx -- (:shr rbx cl)))
(defop "|" ()
(rbx rcx -- (:or rbx cl)))
(rbx rax -- (:or rbx rax)))
(defop & ()
(rbx rcx -- (:and rbx cl)))
(rbx rax -- (:and rbx rax)))
(defop dump ()
"pop rdi"