;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
-; Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+; Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+; MA 02110-1301, USA.
; that way (it's define-full-enum that would change).
(define-pmacro (define-normal-enum name comment attrs prefix vals)
; that way (it's define-full-enum that would change).
(define-pmacro (define-normal-enum name comment attrs prefix vals)
(define-full-enum name comment attrs prefix vals)
)
; Define a normal insn enum.
(define-pmacro (define-normal-insn-enum name comment attrs prefix fld vals)
(define-full-enum name comment attrs prefix vals)
)
; Define a normal insn enum.
(define-pmacro (define-normal-insn-enum name comment attrs prefix fld vals)
-(define-pmacro df
- "Shorthand form of define-full-ifield.\n"
- define-full-ifield
+(define-pmacro (df name comment attrs start length mode encode decode)
+ "Shorthand form of normal fields requiring mode, encode/decode."
+ (define-full-ifield name comment attrs start length mode encode decode)
(define-full-multi-ifield name comment attrs mode subflds insert extract)
)
; For those who don't like typing.
(define-pmacro dnmf
(define-full-multi-ifield name comment attrs mode subflds insert extract)
)
; For those who don't like typing.
(define-pmacro dnmf
-; Simple multi-ifields: mode is UINT, default insert/extract support.
+; Simple multi-ifields: mode is UINT, default insert/extract support,
+; default encode/decode support.
(define-full-multi-ifield name comment attrs UINT subflds #f #f)
)
\f
; Hardware.
; Simpler version for most hardware elements.
(define-full-multi-ifield name comment attrs UINT subflds #f #f)
)
\f
; Hardware.
; Simpler version for most hardware elements.
define-normal-hardware
)
; Simpler version of dnh that leaves out the indices, values, handlers,
define-normal-hardware
)
; Simpler version of dnh that leaves out the indices, values, handlers,
; This is useful for 1 bit registers.
; ??? While dsh and dnh aren't that distinguishable when perusing a .cpu file,
; they both take a fixed number of positional arguments, and dsh is a proper
; This is useful for 1 bit registers.
; ??? While dsh and dnh aren't that distinguishable when perusing a .cpu file,
; they both take a fixed number of positional arguments, and dsh is a proper
; Fields ifield-assertion is absent.
(define-pmacro (define-normal-insn name comment attrs syntax fmt semantics timing)
; Fields ifield-assertion is absent.
(define-pmacro (define-normal-insn name comment attrs syntax fmt semantics timing)
; This only supports expanding to one real insn.
(define-pmacro (define-normal-macro-insn name comment attrs syntax expansion)
; This only supports expanding to one real insn.
(define-pmacro (define-normal-macro-insn name comment attrs syntax expansion)