fixed | and & ops, added a new dep (cl-fad util library)
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user