#| -*-Scheme-*-
-$Id: lapgn3.scm,v 4.12 1999/01/02 06:06:43 cph Exp $
+$Id: lapgn3.scm,v 4.13 2001/12/20 21:45:23 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generator
label)))))
(let-syntax ((->label
- (macro (find var #!optional suffix)
+ (lambda (find var #!optional suffix)
`(object->label ,find
(lambda () ,var)
(lambda (new)
#| -*-Scheme-*-
-$Id: crsend.scm,v 1.10 1999/01/02 06:06:43 cph Exp $
+$Id: crsend.scm,v 1.11 2001/12/20 21:45:23 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Cross Compiler End
(with-absolutely-no-interrupts
(lambda ()
(let-syntax ((ucode-primitive
- (macro (name)
+ (lambda (name)
(make-primitive-procedure name)))
(ucode-type
- (macro (name)
+ (lambda (name)
(microcode-type name))))
((ucode-primitive PRIMITIVE-OBJECT-SET-TYPE)
(ucode-type COMPILED-ENTRY)
\f
(define (cross-link/finish-assembly code-block objects scheme-object-width)
(let-syntax ((ucode-primitive
- (macro (name)
+ (lambda (name)
(make-primitive-procedure name)))
(ucode-type
- (macro (name)
+ (lambda (name)
(microcode-type name))))
(let* ((bl (quotient (bit-string-length code-block)
scheme-object-width))
#| -*-Scheme-*-
-$Id: lvalue.scm,v 4.22 2001/10/22 19:10:20 cph Exp $
+$Id: lvalue.scm,v 4.23 2001/12/20 21:45:23 cph Exp $
Copyright (c) 1988-1990, 1999, 2001 Massachusetts Institute of Technology
(let-syntax
((define-named-variable
- (macro (name)
+ (lambda (name)
(let ((symbol (intern (string-append "#[" (symbol->string name) "]"))))
`(BEGIN (DEFINE-INTEGRABLE
(,(symbol-append 'MAKE- name '-VARIABLE) BLOCK)
#| -*-Scheme-*-
-$Id: scode.scm,v 4.11 2001/12/20 16:28:22 cph Exp $
+$Id: scode.scm,v 4.12 2001/12/20 21:45:23 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
(declare (usual-integrations))
\f
(let-syntax ((define-scode-operators
- (macro names
+ (lambda names
`(BEGIN ,@(map (lambda (name)
`(DEFINE ,(symbol-append 'SCODE/ name)
(ACCESS ,name SYSTEM-GLOBAL-ENVIRONMENT)))
#| -*-Scheme-*-
-$Id: utils.scm,v 4.21 2001/12/20 20:51:15 cph Exp $
+$Id: utils.scm,v 4.22 2001/12/20 21:45:23 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Compiler Utilities
;;;; Type Codes
(let-syntax ((define-type-code
- (macro (var-name #!optional type-name)
+ (lambda (var-name #!optional type-name)
(if (default-object? type-name) (set! type-name var-name))
`(DEFINE-INTEGRABLE ,(symbol-append 'TYPE-CODE: var-name)
',(microcode-type type-name)))))
#| -*-Scheme-*-
-$Id: canon.scm,v 1.18 2001/12/20 18:04:49 cph Exp $
+$Id: canon.scm,v 1.19 2001/12/20 21:45:23 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
;;;; Hairier expressions
(let-syntax ((is-operator?
- (macro (value name)
+ (lambda (value name)
`(or (eq? ,value (ucode-primitive ,name))
(and (scode/absolute-reference? ,value)
(eq? (scode/absolute-reference-name ,value)
(let-syntax
((dispatch-entry
- (macro (type handler)
+ (lambda (type handler)
`(VECTOR-SET! DISPATCH-VECTOR ,(microcode-type type) ,handler)))
(dispatch-entries
- (macro (types handler)
+ (lambda (types handler)
`(BEGIN ,@(map (lambda (type)
`(DISPATCH-ENTRY ,type ,handler))
types))))
(standard-entry
- (macro (name)
+ (lambda (name)
`(DISPATCH-ENTRY ,name ,(symbol-append 'CANONICALIZE/ name))))
(nary-entry
- (macro (nary name)
+ (lambda (nary name)
`(DISPATCH-ENTRY ,name
(,(symbol-append 'CANONICALIZE/ nary)
,(symbol-append 'SCODE/ name '-COMPONENTS)
,(symbol-append 'SCODE/MAKE- name)))))
(binary-entry
- (macro (name)
+ (lambda (name)
`(NARY-ENTRY binary ,name))))
;; quotations are treated as constants.
#| -*-Scheme-*-
-$Id: fggen.scm,v 4.33 2001/12/20 16:28:22 cph Exp $
+$Id: fggen.scm,v 4.34 2001/12/20 21:45:23 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
\f
(let-syntax
((dispatch-entry
- (macro (type handler)
+ (lambda (type handler)
`(VECTOR-SET! DISPATCH-VECTOR ,(microcode-type type) ,handler)))
(dispatch-entries
- (macro (types handler)
+ (lambda (types handler)
`(BEGIN ,@(map (lambda (type)
`(DISPATCH-ENTRY ,type ,handler))
types))))
(standard-entry
- (macro (name)
+ (lambda (name)
`(DISPATCH-ENTRY ,name ,(symbol-append 'GENERATE/ name)))))
(standard-entry access)
(standard-entry assignment)
#| -*-Scheme-*-
-$Id: lapgen.scm,v 1.12 1999/01/02 06:06:43 cph Exp $
+$Id: lapgen.scm,v 1.13 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Rules for C. Shared utilities.
operator))))
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: rules3.scm,v 1.9 1999/01/02 06:06:43 cph Exp $
+$Id: rules3.scm,v 1.10 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Invocations and Entries
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(DEFINE-RULE STATEMENT
(INVOCATION:SPECIAL-PRIMITIVE
(? FRAME-SIZE)
#| -*-Scheme-*-
-$Id: rulfix.scm,v 1.3 1999/01/02 06:06:43 cph Exp $
+$Id: rulfix.scm,v 1.4 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Fixnum Rules
\f
(let-syntax
((binary-fixnum
- (macro (name instr)
+ (lambda (name instr)
`(define-arithmetic-method ',name fixnum-methods/2-args
(lambda (tgt src1 src2 overflow?)
(if overflow? (no-overflow-branches!))
(let-syntax
((binary-fixnum
- (macro (name instr)
+ (lambda (name instr)
`(define-arithmetic-method ',name fixnum-methods/2-args
(lambda (tgt src1 src2 overflow?)
(if overflow? (no-overflow-branches!))
(let-syntax
((binary-fixnum
- (macro (name instr)
+ (lambda (name instr)
`(define-arithmetic-method ',name
fixnum-methods/2-args/register*constant
(lambda (tgt src1 constant overflow?)
#| -*-Scheme-*-
-$Id: rulflo.scm,v 1.5 1999/01/02 06:06:43 cph Exp $
+$Id: rulflo.scm,v 1.6 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Flonum rules
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/2-args
(lambda (target source1 source2)
(LAP ,',target " = (" ,',source1 ,opcode ,',source2
#| -*-Scheme-*-
-$Id: assmd.scm,v 1.2 1999/01/02 06:48:57 cph Exp $
+$Id: assmd.scm,v 1.3 2001/12/20 21:46:10 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instruction length is always a multiple of 32 bits
#| -*-Scheme-*-
-$Id: dassm1.scm,v 1.2 1999/01/02 06:48:57 cph Exp $
+$Id: dassm1.scm,v 1.3 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
+
;;;; Disassembler: User Level
;;; Package: (compiler disassembler)
(cond ((not (< index end)) 'DONE)
((object-type?
(let-syntax ((ucode-type
- (macro (name) (microcode-type name))))
+ (lambda (name) (microcode-type name))))
(ucode-type linkage-section))
(system-vector-ref block index))
(loop (disassembler/write-linkage-section block
#| -*-Scheme-*-
-$Id: dassm2.scm,v 1.2 1999/01/02 06:48:57 cph Exp $
+$Id: dassm2.scm,v 1.3 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Alpha Disassembler: Top Level
(set! disassembler/read-variable-cache
(lambda (block index)
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type quad)
#| -*-Scheme-*-
-$Id: instr1.scm,v 1.4 1999/01/02 06:48:57 cph Exp $
+$Id: instr1.scm,v 1.5 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
\f
(let-syntax
((memory-format-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (OFFSET (? offset) (? base)))
(VARIABLE-WIDTH (offset offset)
(let-syntax
((special-memory-instruction
- (macro (keyword functioncode)
+ (lambda (keyword functioncode)
`(define-instruction ,keyword
(()
(LONG (6 #x18)
(5 #x0)
(16 ,functioncode))))))
(special-memory-instruction-Ra
- (macro (keyword functioncode)
+ (lambda (keyword functioncode)
`(define-instruction ,keyword
(((? Ra))
(LONG (6 #x18)
(5 #x0)
(16 ,functioncode))))))
(special-memory-instruction-Rb
- (macro (keyword functioncode)
+ (lambda (keyword functioncode)
`(define-instruction ,keyword
(((? Rb))
(LONG (6 #x18)
\f
(let-syntax
((operate-format
- (macro (keyword opcode functioncode)
+ (lambda (keyword opcode functioncode)
`(define-instruction ,keyword
(((? source-1) (& (? constant)) (? destination))
(LONG (6 ,opcode)
(let-syntax
((pal-format
- (macro (keyword functioncode)
+ (lambda (keyword functioncode)
`(define-instruction ,keyword
(()
(LONG (6 0)
#| -*-Scheme-*-
-$Id: instr2.scm,v 1.2 1999/01/02 06:48:57 cph Exp $
+$Id: instr2.scm,v 1.3 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
; Unconditional jump instructions
(let-syntax
((memory-branch
- (macro (keyword hint)
+ (lambda (keyword hint)
`(define-instruction ,keyword
(((? link-register) (? base))
(LONG (6 #x1a)
(let-syntax
((branch
- (macro (keyword opcode reverse-op)
+ (lambda (keyword opcode reverse-op)
`(define-instruction ,keyword
(((? reg) (@PCO (? offset)))
(LONG (6 ,opcode)
(let-syntax
((unconditional-branch
- (macro (keyword opcode hint)
+ (lambda (keyword opcode hint)
`(define-instruction ,keyword
(((? reg) (@PCO (? offset)))
(LONG (6 ,opcode)
#| -*-Scheme-*-
-$Id: instr3.scm,v 1.2 1999/01/02 06:48:57 cph Exp $
+$Id: instr3.scm,v 1.3 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
(let-syntax
((floating-operate
- (macro (keyword function-code)
+ (lambda (keyword function-code)
`(define-instruction ,keyword
(((? src-1) (? src-2) (? dest))
(LONG (6 #x17) ; Opcode
(let-syntax
((ieee
- (macro (keyword function-code)
+ (lambda (keyword function-code)
`(define-instruction ,keyword
(((? src-1) (? src-2) (? dest))
(LONG (6 #x16) ; Opcode
(let-syntax
((vax
- (macro (keyword function-code)
+ (lambda (keyword function-code)
`(define-instruction ,keyword
(((? src-1) (? src-2) (? dest))
(LONG (6 #x15) ; Opcode
#| -*-Scheme-*-
-$Id: lapgen.scm,v 1.7 2001/12/19 21:39:29 cph Exp $
+$Id: lapgen.scm,v 1.8 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
;;;; Codes and Hooks
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
set! define lookup-apply))
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names offset)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: rules3.scm,v 1.8 2001/12/19 21:39:30 cph Exp $
+$Id: rules3.scm,v 1.9 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(DEFINE-RULE STATEMENT
(INVOCATION:SPECIAL-PRIMITIVE
(? FRAME-SIZE)
#| -*-Scheme-*-
-$Id: rulflo.scm,v 1.4 2001/12/19 21:39:30 cph Exp $
+$Id: rulflo.scm,v 1.5 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/2-args
(lambda (target source1 source2)
(LAP (,opcode ,',source1 ,',source2 ,',target)))))))
#| -*-Scheme-*-
-$Id: assmd.scm,v 1.37 1999/01/02 06:06:43 cph Exp $
+$Id: assmd.scm,v 1.38 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988, 1989, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instruction length is always a multiple of 16 bits
#| -*-Scheme-*-
-$Id: dassm1.scm,v 4.20 2001/08/10 17:28:55 cph Exp $
+$Id: dassm1.scm,v 4.21 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
(cond ((not (< index end)) 'DONE)
((object-type?
(let-syntax ((ucode-type
- (macro (name) (microcode-type name))))
+ (lambda (name) (microcode-type name))))
(ucode-type linkage-section))
(system-vector-ref block index))
(loop (disassembler/write-linkage-section block
#| -*-Scheme-*-
-$Id: dassm2.scm,v 4.23 1999/01/02 06:06:43 cph Exp $
+$Id: dassm2.scm,v 4.24 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; 68000 Disassembler: Top Level
\f
(define (disassembler/read-variable-cache block index)
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type quad)
(with-absolutely-no-interrupts
(lambda ()
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type compiled-entry)
#| -*-Scheme-*-
-$Id: flinstr1.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: flinstr1.scm,v 1.3 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988, 1989, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Instruction set description for 68881 floating point processor
\f
(let-syntax
((define-unary-flop
- (macro (name bits)
+ (lambda (name bits)
`(define-instruction ,name
(((? type float-source-format)
#| -*-Scheme-*-
-$Id: flinstr2.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: flinstr2.scm,v 1.3 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988, 1989, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Instruction set description for 68881 floating point processor
\f
(let-syntax
((define-binary-flop
- (macro (name bits)
+ (lambda (name bits)
`(define-instruction ,name
(((? type float-source-format)
#| -*-Scheme-*-
-$Id: instr2.scm,v 1.19 1999/01/02 06:06:43 cph Exp $
+$Id: instr2.scm,v 1.20 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; 68000 Instruction Set Description
;;;; BCD Arithmetic
(let-syntax ((define-BCD-addition
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((D (? ry)) (D (? rx)))
(WORD (4 ,opcode)
;;;; Binary Arithmetic
(let-syntax ((define-binary-addition
- (macro (keyword Qkeyword Xkeyword opcode Qbit Iopcode)
+ (lambda (keyword Qkeyword Xkeyword opcode Qbit Iopcode)
`(BEGIN
(define-instruction ,Qkeyword ;ADDQ/SUBQ
((B (& (? data)) (? ea ea-all-A))
;; These are the 68020 versions
(let-syntax ((define-mul-and-div
- (macro (keyword word-form-bit long-form-bit)
+ (lambda (keyword word-form-bit long-form-bit)
`(define-instruction ,keyword
(((? sgn us) W (? ea ea-d) (D (? n)))
(WORD (1 #b1)
;;;; Bitwise Logical
(let-syntax ((define-bitwise-logical
- (macro (keyword opcode Iopcode)
+ (lambda (keyword opcode Iopcode)
`(define-instruction ,keyword
(((? s bwl ssym) (? ea ea-d) (D (? rx)))
(WORD (4 ,opcode)
;;;; Shift
(let-syntax ((define-shift-instruction
- (macro (keyword bits)
+ (lambda (keyword bits)
`(define-instruction ,keyword
(((? d rl) (? s bwl) (D (? rx)) (D (? ry)))
(WORD (4 #b1110)
;;;; Bit Manipulation
(let-syntax ((define-bit-manipulation
- (macro (keyword bits ea-register-target ea-immediate-target)
+ (lambda (keyword bits ea-register-target ea-immediate-target)
`(define-instruction ,keyword
(((D (? rx)) (? ea ,ea-register-target))
(WORD (4 #b0000)
#| -*-Scheme-*-
-$Id: instr3.scm,v 1.18 1999/01/02 06:06:43 cph Exp $
+$Id: instr3.scm,v 1.19 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988, 1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; 68000 Instruction Set Description
(let-syntax
((define-branch-instruction
- (macro (opcode prefix field . fall-through)
+ (lambda (opcode prefix field . fall-through)
`(define-instruction ,opcode
((,@prefix B (@PCO (? o)))
(WORD ,@field
#| -*-Scheme-*-
-$Id: instr4.scm,v 1.4 1999/01/02 06:06:43 cph Exp $
+$Id: instr4.scm,v 1.5 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1987, 1999 Massachusetts Institute of Technology
+Copyright (c) 1987, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; 68020 Instruction Set Description (in addition to 68000)
(let-syntax
((define-bitfield-manipulation-1
- (macro (keyword bits ea-mode)
+ (lambda (keyword bits ea-mode)
`(define-instruction ,keyword
(((? ea ,ea-mode) (& (? offset)) (& (? width)) (D (? reg)))
(WORD (4 #b1110)
(let-syntax
((define-bitfield-manipulation-2
- (macro (keyword bits ea-mode)
+ (lambda (keyword bits ea-mode)
`(define-instruction ,keyword
(((? ea ,ea-mode) (& (? offset)) (& (? width)))
(WORD (4 #b1110)
#| -*-Scheme-*-
-$Id: lapgen.scm,v 4.51 1999/01/02 06:06:43 cph Exp $
+$Id: lapgen.scm,v 4.52 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Rules for 68020. Part 1
(let-syntax
((binary-fixnum
- (macro (name instr identity?)
+ (lambda (name instr identity?)
`(begin
(define-fixnum-method ',name fixnum-methods/2-args
(lambda (target source)
(let-syntax
((define-flonum-operation
- (macro (primitive-name instruction-name)
+ (lambda (primitive-name instruction-name)
`(DEFINE-FLONUM-METHOD ',primitive-name FLONUM-METHODS/1-ARG
(LAMBDA (SOURCE TARGET)
(IF (EFFECTIVE-ADDRESS/FLOAT-REGISTER? SOURCE)
(let-syntax
((define-flonum-operation
- (macro (primitive-name instruction-name)
+ (lambda (primitive-name instruction-name)
`(DEFINE-FLONUM-METHOD ',primitive-name FLONUM-METHODS/2-ARGS
(LAMBDA (TARGET SOURCE)
(IF (EFFECTIVE-ADDRESS/FLOAT-REGISTER? SOURCE)
(define-integrable reg:stack-guard (INST-EA (@AO 6 #X002C)))
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
quotient remainder modulo))
\f
(let-syntax ((define-entries
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: machin.scm,v 4.32 1999/01/02 06:06:43 cph Exp $
+$Id: machin.scm,v 4.33 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Machine Model for the Motorola MC68K family
(define-integrable MC68K/closure-format 'MC68040) ; or MC68020
(let-syntax ((define/format-dependent
- (macro (name)
+ (lambda (name)
`(define ,name
(case MC68K/closure-format
((MC68020)
#| -*-Scheme-*-
-$Id: rules3.scm,v 4.41 1999/01/02 06:06:43 cph Exp $
+$Id: rules3.scm,v 4.42 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Invocations and Entries
\f
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
,(symbol-append 'CODE:COMPILER- name)))))
(define-optimized-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
(vector->list entries)))))
(let-syntax ((define/format-dependent
- (macro (name1 name2)
+ (lambda (name1 name2)
`(define ,name1
(case MC68K/closure-format
((MC68020)
#| -*-Scheme-*-
-$Id: assmd.scm,v 1.3 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: assmd.scm,v 1.36 89/08/28 18:33:33 GMT cph Exp $
+$Id: assmd.scm,v 1.4 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992, 1999 Massachusetts Institute of Technology
+Copyright (c) 1992, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies. Intel 386 version
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instructions can be any number of bytes long.
#| -*-Scheme-*-
-$Id: dassm1.scm,v 1.10 2001/08/10 17:29:03 cph Exp $
+$Id: dassm1.scm,v 1.11 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
(cond ((not (< index end)) 'DONE)
((object-type?
(let-syntax ((ucode-type
- (macro (name) (microcode-type name))))
+ (lambda (name) (microcode-type name))))
(ucode-type linkage-section))
(system-vector-ref block index))
(loop (disassembler/write-linkage-section block
#| -*-Scheme-*-
-$Id: dassm2.scm,v 1.9 1999/01/02 06:06:43 cph Exp $
+$Id: dassm2.scm,v 1.10 2001/12/20 21:45:24 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Intel i386 Disassembler: Top Level
\f
(define (disassembler/read-variable-cache block index)
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type quad)
(with-absolutely-no-interrupts
(lambda ()
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type compiled-entry)
#| -*-Scheme-*-
-$Id: dassm3.scm,v 1.7 2001/12/16 06:01:31 cph Exp $
+$Id: dassm3.scm,v 1.8 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992, 1999, 2001 Massachusetts Institute of Technology
next)))))
\f
(define decode-fp
- (let-syntax ((IN (macro (body . bindings)
+ (let-syntax ((IN (lambda (body . bindings)
`(LET ,bindings
,body))))
(IN
#| -*-Scheme-*-
-$Id: instr1.scm,v 1.13 2001/12/20 20:51:15 cph Exp $
+$Id: instr1.scm,v 1.14 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992, 1999, 2001 Massachusetts Institute of Technology
(let-syntax
((define-arithmetic-instruction
- (macro (mnemonic opcode digit)
+ (lambda (mnemonic opcode digit)
`(define-instruction ,mnemonic
((W (? target r/mW) (R (? source)))
(BYTE (8 ,(1+ opcode)))
(let-syntax
((define-bit-test-instruction
- (macro (mnemonic opcode digit)
+ (lambda (mnemonic opcode digit)
`(define-instruction ,mnemonic
(((? target r/mW) (& (? posn)))
(BYTE (8 #x0f)
(let-syntax
((define-string-instruction
- (macro (mnemonic opcode)
+ (lambda (mnemonic opcode)
`(define-instruction ,mnemonic
((W)
(BYTE (8 ,(1+ opcode))))
\f
(let-syntax
((define-inc/dec
- (macro (mnemonic digit opcode)
+ (lambda (mnemonic digit opcode)
`(define-instruction ,mnemonic
((W (R (? reg)))
(BYTE (8 (+ ,opcode reg))))
(let-syntax
((define-mul/div
- (macro (mnemonic digit)
+ (lambda (mnemonic digit)
`(define-instruction ,mnemonic
((W (R 0) (? operand r/mW))
(BYTE (8 #xf7))
(let-syntax
((define-jump-instruction
- (macro (mnemonic opcode1 opcode2)
+ (lambda (mnemonic opcode1 opcode2)
`(define-instruction ,mnemonic
;; This assumes that *ADDRESS-SIZE* is 4 (32-bit mode)
(((@PCR (? dest)))
(let-syntax
((define-loop-instruction
- (macro (mnemonic opcode)
+ (lambda (mnemonic opcode)
`(define-instruction ,mnemonic
((B (@PCR (? dest)))
(BYTE (8 ,opcode)
(let-syntax
((define-load/store-state
- (macro (mnemonic opcode digit)
+ (lambda (mnemonic opcode digit)
`(define-instruction ,mnemonic
(((? operand mW))
(BYTE (8 #x0f)
#| -*-Scheme-*-
-$Id: instr2.scm,v 1.7 2001/12/20 20:51:15 cph Exp $
+$Id: instr2.scm,v 1.8 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992, 1999, 2001 Massachusetts Institute of Technology
(let-syntax
((define-load-segment
- (macro (mnemonic . bytes)
+ (lambda (mnemonic . bytes)
`(define-instruction ,mnemonic
(((R (? reg)) (? pointer mW))
(BYTE ,@(map (lambda (byte)
(let-syntax
((define-data-extension
- (macro (mnemonic opcode)
+ (lambda (mnemonic opcode)
`(define-instruction ,mnemonic
((B (R (? target)) (? source r/mB))
(BYTE (8 #x0f)
(let-syntax
((define-unary
- (macro (mnemonic digit)
+ (lambda (mnemonic digit)
`(define-instruction ,mnemonic
((W (? operand r/mW))
(BYTE (8 #xf7))
\f
(let-syntax
((define-rotate/shift
- (macro (mnemonic digit)
+ (lambda (mnemonic digit)
`(define-instruction ,mnemonic
((W (? operand r/mW) (& 1))
(BYTE (8 #xd1))
(let-syntax
((define-double-shift
- (macro (mnemonic opcode)
+ (lambda (mnemonic opcode)
`(define-instruction ,mnemonic
((W (? target r/mW) (R (? source)) (& (? count)))
(BYTE (8 #x0f)
(let-syntax
((define-setcc-instruction
- (macro (mnemonic opcode)
+ (lambda (mnemonic opcode)
`(define-instruction ,mnemonic
(((? target r/mB))
(BYTE (8 #x0f)
#| -*-Scheme-*-
-$Id: instrf.scm,v 1.15 2001/12/20 20:51:15 cph Exp $
+$Id: instrf.scm,v 1.16 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992, 1999, 2001 Massachusetts Institute of Technology
\f
(let-syntax
((define-binary-flonum
- (macro (mnemonic pmnemonic imnemonic digit opcode1 opcode2)
+ (lambda (mnemonic pmnemonic imnemonic digit opcode1 opcode2)
`(begin
(define-instruction ,mnemonic
(((ST 0) (ST (? i)))
(let-syntax
((define-flonum-comparison
- (macro (mnemonic digit opcode)
+ (lambda (mnemonic digit opcode)
`(define-instruction ,mnemonic
(((ST 0) (ST (? i)))
(BYTE (8 #xd8)
(let-syntax
((define-flonum-integer-comparison
- (macro (mnemonic digit)
+ (lambda (mnemonic digit)
`(define-instruction ,mnemonic
((L (? source mW))
(BYTE (8 #xda))
(let-syntax
((define-flonum-integer-memory
- (macro (mnemonic digit1 digit2)
+ (lambda (mnemonic digit1 digit2)
`(define-instruction ,mnemonic
,@(if (not digit2)
`()
(let-syntax
((define-flonum-memory
- (macro (mnemonic digit1 digit2 opcode1 opcode2)
+ (lambda (mnemonic digit1 digit2 opcode1 opcode2)
`(define-instruction ,mnemonic
(((ST (? i)))
(BYTE (8 ,opcode1)
(let-syntax
((define-flonum-state
- (macro (mnemonic opcode digit mnemonic2)
+ (lambda (mnemonic opcode digit mnemonic2)
`(begin
,@(if (not mnemonic2)
`()
(let-syntax
((define-binary-flonum
- (macro (mnemonic opcode1 opcode2)
+ (lambda (mnemonic opcode1 opcode2)
`(define-instruction ,mnemonic
(((ST 0) (ST (? i)))
(BYTE (8 ,opcode1)
#| -*-Scheme-*-
-$Id: lapgen.scm,v 1.28 2001/12/16 06:01:31 cph Exp $
+$Id: lapgen.scm,v 1.29 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
,@(invoke-hook/call entry:compiler-scheme-to-interface/call)))
\f
(let-syntax ((define-entries
- (macro (start high . names)
+ (lambda (start high . names)
(define (loop names index high)
(cond ((null? names)
'())
#| -*-Scheme-*-
-$Id: rules3.scm,v 1.35 2001/12/16 06:01:32 cph Exp $
+$Id: rules3.scm,v 1.36 2001/12/20 21:45:24 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
;;
(let-syntax ((invoke
#|
- (macro (code entry)
+ (lambda (code entry)
entry ; ignored (for now)
`(invoke-interface ,code))
|#
- (macro (code entry)
+ (lambda (code entry)
code ; ignored
`(invoke-hook ,entry))))
\f
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
,(symbol-append 'CODE:COMPILER- name)))))
(define-optimized-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
,(symbol-append 'ENTRY:COMPILER- name))))))
(let-syntax ((define-primitive-invocation
- (macro (name)
+ (lambda (name)
#|
`(define-special-primitive-invocation ,name)
|#
#| -*-Scheme-*-
-$Id: rulfix.scm,v 1.31 1999/01/02 06:06:43 cph Exp $
+$Id: rulfix.scm,v 1.32 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Fixnum operations.
(let-syntax
((binary-operation
- (macro (name instr commutative? idempotent?)
+ (lambda (name instr commutative? idempotent?)
`(define-arithmetic-method ',name fixnum-methods/2-args
(fixnum-2-args/standard
,commutative?
#| -*-Scheme-*-
-$Id: rulflo.scm,v 1.22 1999/01/02 06:06:43 cph Exp $
+$Id: rulflo.scm,v 1.23 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Flonum rules
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/1-arg
(flonum-unary-operation/general
(lambda (target source)
\f
(let-syntax
((define-flonum-operation
- (macro (primitive-name op1%2 op1%2p op2%1 op2%1p)
+ (lambda (primitive-name op1%2 op1%2p op2%1 op2%1p)
`(begin
(define-arithmetic-method ',primitive-name flonum-methods/2-args
(flonum-binary-operation
#| -*-Scheme-*-
-$Id: assmd.scm,v 1.3 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: assmd.scm,v 1.36 89/08/28 18:33:33 GMT cph Exp $
+$Id: assmd.scm,v 1.4 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988, 1989, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instruction length is always a multiple of 32 bits
#| -*-Scheme-*-
-$Id: dassm1.scm,v 1.5 2001/08/10 17:29:10 cph Exp $
+$Id: dassm1.scm,v 1.6 2001/12/20 21:45:25 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
(cond ((not (< index end)) 'DONE)
((object-type?
(let-syntax ((ucode-type
- (macro (name) (microcode-type name))))
+ (lambda (name) (microcode-type name))))
(ucode-type linkage-section))
(system-vector-ref block index))
(loop (disassembler/write-linkage-section block
#| -*-Scheme-*-
-$Id: dassm2.scm,v 1.5 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: dassm2.scm,v 4.16 89/12/11 06:16:42 GMT cph Exp $
+$Id: dassm2.scm,v 1.6 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS Disassembler: Top Level
\f
(define (disassembler/read-variable-cache block index)
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type quad)
(with-absolutely-no-interrupts
(lambda ()
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type compiled-entry)
#| -*-Scheme-*-
-$Id: instr1.scm,v 1.7 1999/01/02 06:06:43 cph Exp $
+$Id: instr1.scm,v 1.8 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS instruction set
\f
(let-syntax
((arithmetic-immediate-instruction
- (macro (keyword opcode special-opcode)
+ (lambda (keyword opcode special-opcode)
`(define-instruction ,keyword
(((? destination) (? source) (? immediate))
(VARIABLE-WIDTH (evaluated-immediate immediate)
(let-syntax
((unsigned-immediate-instruction
- (macro (keyword opcode special-opcode)
+ (lambda (keyword opcode special-opcode)
`(define-instruction ,keyword
(((? destination) (? source) (? immediate))
(VARIABLE-WIDTH (evaluated-immediate immediate)
\f
(let-syntax
((3-operand-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (? source-1) (? source-2))
(LONG (6 0)
(let-syntax
((shift-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (? source) (? amount))
(LONG (6 0)
(let-syntax
((shift-variable-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (? source) (? amount))
(LONG (6 0)
\f
(let-syntax
((div/mul-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? source-1) (? source-2))
(LONG (6 0)
(let-syntax
((from-hi/lo-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination))
(LONG (6 0)
#|
(let-syntax
((to-hi/lo-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? source))
(LONG (6 0)
(let-syntax
((jump-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? address))
(LONG (6 ,opcode)
\f
(let-syntax
((move-coprocessor-instruction
- (macro (keyword opcode move-op)
+ (lambda (keyword opcode move-op)
`(define-instruction ,keyword
(((? rt-mci) (? rd-mci))
(LONG (6 ,opcode)
#|
(let-syntax
((coprocessor-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? cofun))
(LONG (6 ,opcode)
(let-syntax
((cop0-instruction
- (macro (keyword cp0-op)
+ (lambda (keyword cp0-op)
`(define-instruction ,keyword
(()
(LONG (6 16)
#| -*-Scheme-*-
-$Id: instr2a.scm,v 1.5 1999/01/02 06:06:43 cph Exp $
+$Id: instr2a.scm,v 1.6 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS instruction set, part 2a
(let-syntax
((branch
- (macro (keyword match-phrase forward reverse)
+ (lambda (keyword match-phrase forward reverse)
`(define-instruction ,keyword
((,@match-phrase (@PCO (? offset)))
(LONG ,@forward
#| -*-Scheme-*-
-$Id: instr2b.scm,v 1.4 1999/01/02 06:06:43 cph Exp $
+$Id: instr2b.scm,v 1.5 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS instruction set, part 2b
(let-syntax
((load/store-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? source/dest-reg) (OFFSET (? offset-ls) (? base-reg)))
(VARIABLE-WIDTH (delta offset-ls)
#| -*-Scheme-*-
-$Id: instr3.scm,v 1.3 1999/01/02 06:06:43 cph Exp $
+$Id: instr3.scm,v 1.4 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS instruction set, part 3
\f
(let-syntax
((three-reg
- (macro (keyword function-code)
+ (lambda (keyword function-code)
`(BEGIN
(DEFINE-INSTRUCTION ,(symbol-append keyword '.S)
(((? fd) (? fs) (? ft))
(let-syntax
((two-reg
- (macro (keyword function-code)
+ (lambda (keyword function-code)
`(BEGIN
(DEFINE-INSTRUCTION ,(symbol-append keyword '.S)
(((? fd) (? fs))
\f
(let-syntax
((compare
- (macro (keyword conditions)
+ (lambda (keyword conditions)
`(BEGIN
(DEFINE-INSTRUCTION ,(symbol-append keyword '.S)
(((? fs) (? ft))
#| -*-Scheme-*-
-$Id: lapgen.scm,v 1.16 1999/01/02 06:06:43 cph Exp $
+$Id: lapgen.scm,v 1.17 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Rules for MIPS. Shared utilities.
;;;; Codes and Hooks
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: mips.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: mips.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987, 1989, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1987, 1989, 1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS instruction set
(declare (usual-integrations))
\f
(let-syntax
- ((opcodes (macro (suffix names)
+ ((opcodes (lambda (suffix names)
(let loop ((value 0)
(names names)
(result '()))
#| -*-Scheme-*-
-$Id: rules3.scm,v 1.18 1999/01/02 06:06:43 cph Exp $
+$Id: rules3.scm,v 1.19 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Invocations and Entries
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(DEFINE-RULE STATEMENT
(INVOCATION:SPECIAL-PRIMITIVE
(? FRAME-SIZE)
#| -*-Scheme-*-
-$Id: rulflo.scm,v 1.8 1999/01/02 06:06:43 cph Exp $
+$Id: rulflo.scm,v 1.9 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1989-1999 Massachusetts Institute of Technology
+Copyright (c) 1989-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Flonum rules
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/1-arg
(lambda (target source)
(LAP (,opcode ,',target ,',source)))))))
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/2-args
(lambda (target source1 source2)
(LAP (,opcode ,',target ,',source1 ,',source2)))))))
#| -*-Scheme-*-
-$Id: assmd.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: assmd.scm,v 1.36 89/08/28 18:33:33 GMT cph Exp $
+$Id: assmd.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988, 1989, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instruction length is always a multiple of 32 bits
#| -*-Scheme-*-
-$Id: instr1.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: instr1.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; MIPS instruction set
\f
(let-syntax
((arithmetic-immediate-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (? source) (? immediate))
(VARIABLE-WIDTH (evaluated-immediate immediate)
\f
(let-syntax
((3-operand-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (? source-1) (? source-2))
(LONG (2 2)
(let-syntax
((shift-instruction-immediate
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? destination) (? source) (? amount))
(LONG (2 2)
#| -*-Scheme-*-
-$Id: instr2a.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: instr2a.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; SPARC instruction set, part 2a
(let-syntax
((branch
- (macro (keyword annul condition)
+ (lambda (keyword annul condition)
`(define-instruction ,keyword
(((@PCO (? offset)))
(LONG (2 0)
#| -*-Scheme-*-
-$Id: instr2b.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: instr2b.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; SPARC instruction set, part 2b
(let-syntax
((load/store-instruction
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
(((? source/dest-reg) (OFFSET (? offset-ls) (? base-reg)))
(VARIABLE-WIDTH (delta offset-ls)
#| -*-Scheme-*-
-$Id: instr3.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: instr3.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; SPARC instruction set, part 3
\f
(let-syntax
((float-instruction-3
- (macro (keyword major minor)
+ (lambda (keyword major minor)
`(define-instruction ,keyword
(((? destination) (? source1) (? source2))
(LONG (2 2)
(let-syntax
((float-instruction-cmp
- (macro (keyword major minor)
+ (lambda (keyword major minor)
`(define-instruction ,keyword
(((? source1) (? source2))
(LONG (2 2)
(let-syntax
((float-instruction-2
- (macro (keyword major minor)
+ (lambda (keyword major minor)
`(define-instruction ,keyword
(((? destination) (? source))
(LONG (2 2)
#| -*-Scheme-*-
-$Id: lapgen.scm,v 1.3 1999/01/02 06:06:43 cph Exp $
+$Id: lapgen.scm,v 1.4 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Rules for SPARC. Shared utilities.
;;;; Codes and Hooks
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: rules3.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: rules3.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Invocations and Entries
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(DEFINE-RULE STATEMENT
(INVOCATION:SPECIAL-PRIMITIVE
(? FRAME-SIZE)
#| -*-Scheme-*-
-$Id: rulflo.scm,v 1.2 1999/01/02 06:06:43 cph Exp $
+$Id: rulflo.scm,v 1.3 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1989-1999 Massachusetts Institute of Technology
+Copyright (c) 1989-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Flonum rules
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/1-arg
(lambda (target source)
(LAP (,opcode ,',target ,',source)))))))
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/2-args
(lambda (target source1 source2)
(LAP (,opcode ,',target ,',source1 ,',source2)))))))
#| -*-Scheme-*-
-$Id: assmd.scm,v 1.31 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: assmd.scm,v 1.36 89/08/28 18:33:33 GMT cph Exp $
+$Id: assmd.scm,v 1.32 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988, 1989, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instruction length is always a multiple of 32 bits
#| -*-Scheme-*-
-$Id: dassm1.scm,v 4.20 2001/08/10 17:29:18 cph Exp $
+$Id: dassm1.scm,v 4.21 2001/12/20 21:45:25 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
(cond ((not (< index end)) 'DONE)
((object-type?
(let-syntax ((ucode-type
- (macro (name) (microcode-type name))))
+ (lambda (name) (microcode-type name))))
(ucode-type linkage-section))
(system-vector-ref block index))
(loop (disassembler/write-linkage-section block
#| -*-Scheme-*-
-$Id: dassm2.scm,v 4.21 1999/01/02 06:06:43 cph Exp $
+$Id: dassm2.scm,v 4.22 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Spectrum Disassembler: Top Level
\f
(define (disassembler/read-variable-cache block index)
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type quad)
(unsigned-integer->bit-string 32 address)
#*11111100000000000000000000000000)))
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type compiled-entry)
#| -*-Scheme-*-
-$Id: instr1.scm,v 1.4 1999/01/02 06:06:43 cph Exp $
+$Id: instr1.scm,v 1.5 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; HP Spectrum instruction utilities
`(,name ,value))))
(let-syntax ((define-operator
- (macro (name handler)
+ (lambda (name handler)
`(define ,name
(make-operator ',name ,handler)))))
#| -*-Scheme-*-
-$Id: instr2.scm,v 1.8 2001/12/20 20:51:15 cph Exp $
+$Id: instr2.scm,v 1.9 2001/12/20 21:45:25 cph Exp $
Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
;;; 1 -- this may be inappropriate for assembly-language programs, but
;;; is OK for the output of the compiler.
(let-syntax ((long-load
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
((() (OFFSET (? offset) (? space) (? base)) (? reg))
(VARIABLE-WIDTH (disp offset)
(14 (remainder disp #x800) RIGHT-SIGNED))))))))
(long-store
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
((() (? reg) (OFFSET (? offset) (? space) (? base)))
(VARIABLE-WIDTH (disp offset)
(14 (remainder disp #x800) RIGHT-SIGNED))))))))
(load-offset
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
((() (OFFSET (? offset) 0 (? base)) (? reg))
(VARIABLE-WIDTH (disp offset)
(14 (remainder disp #x800) RIGHT-SIGNED))))))))
(load-immediate
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
((() (? offset) (? reg))
(VARIABLE-WIDTH (disp offset)
(14 (remainder disp #x800) RIGHT-SIGNED))))))))
(left-immediate
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
((() (? immed-21) (? reg))
(LONG (6 ,opcode)
;; cache instructions.
(let-syntax ((indexed-load
- (macro (keyword opcode extn)
+ (lambda (keyword opcode extn)
`(define-instruction ,keyword
(((? compl complx) (INDEX (? index-reg) (? space) (? base))
(? reg))
(5 reg))))))
(indexed-store
- (macro (keyword opcode extn)
+ (lambda (keyword opcode extn)
`(define-instruction ,keyword
(((? compl complx) (? reg)
(INDEX (? index-reg) (? space) (? base)))
(5 reg))))))
(indexed-d-cache
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl m-val) (INDEX (? index-reg) (? space) (? base)))
(LONG (6 #x01)
(5 #x0))))))
(indexed-i-cache
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl m-val)
(INDEX (? index-reg) (? space sr3) (? base)))
(indexed-i-cache FICE #x0b))
\f
(let-syntax ((scalr-short-load
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compls) (OFFSET (? offset) (? space) (? base))
(? reg))
(5 reg))))))
(scalr-short-store
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compls) (? reg)
(OFFSET (? offset) (? space) (? base)))
(5 offset RIGHT-SIGNED))))))
(float-short-load
- (macro (keyword opcode extn)
+ (lambda (keyword opcode extn)
`(define-instruction ,keyword
(((? compl compls) (OFFSET (? offset) (? space) (? base))
(? reg))
(5 reg))))))
\f
(float-short-store
- (macro (keyword opcode extn)
+ (lambda (keyword opcode extn)
`(define-instruction ,keyword
(((? compl compls) (? reg)
(OFFSET (? offset) (? space) (? base)))
;;; They should be eventually (by using an LDIL,LDI,BLR sequence, for example).
(let-syntax ((branch&link
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
((() (? reg) (@PCR (? label)))
(LONG (6 #x3a)
(1 offset ASSEMBLE17:Z))))))
\f
(branch
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
((() (@PCR (? l)))
(LONG (6 #x3a)
(branch&link GATE 1))
\f
(let-syntax ((BV&BLR
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
((() (? offset-reg) (? reg))
(LONG (6 #x3a)
(1 #b0))))))
(BE&BLE
- (macro (keyword opcode)
+ (lambda (keyword opcode)
`(define-instruction ,keyword
((() (OFFSET (? offset) (? space sr3) (? base)))
(LONG (6 ,opcode)
(let-syntax
((defccbranch
- (macro (keyword completer opcode1 opcode2 opr1)
+ (lambda (keyword completer opcode1 opcode2 opr1)
`(define-instruction ,keyword
(((? compl ,completer) (? ,(car opr1)) (? reg-2) (@PCO (? offset)))
(LONG (6 ,opcode1)
\f
(let-syntax
((defccbranch
- (macro (keyword completer opcode1 opcode2 opr1)
+ (lambda (keyword completer opcode1 opcode2 opr1)
`(define-instruction ,keyword
;; No @PCO form.
;; This is a pseudo-instruction used by the code-generator
(let-syntax
((defmovb&bb
- (macro (name opcode opr1 opr2 field2)
+ (lambda (name opcode opr1 opr2 field2)
`(define-instruction ,name
(((? compl compledb) (? ,(car opr1)) ,@opr2 (@PCO (? offset)))
(LONG (6 ,opcode)
#| -*-Scheme-*-
-$Id: instr3.scm,v 1.3 1999/01/02 06:06:43 cph Exp $
+$Id: instr3.scm,v 1.4 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987, 1989, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1987, 1989, 1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; HP Spectrum Instruction Set Description
;;;; Computation instructions
(let-syntax ((arith-logical
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl complal) (? source-reg1) (? source-reg2)
(? target-reg))
(5 #b00000))))
\f
(let-syntax ((immed-arith
- (macro (keyword opcode extn)
+ (lambda (keyword opcode extn)
`(define-instruction ,keyword
(((? compl complal) (? immed-11) (? source-reg)
(? target-reg))
(5 (- 31 pos))
(5 target-reg))))
-(let-syntax ((extr (macro (keyword extn)
+(let-syntax ((extr (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compled) (? source-reg) (? pos) (? len)
(? target-reg))
(3 ,extn)
(5 pos)
(5 (- 32 len)))))))
- (vextr (macro (keyword extn)
+ (vextr (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compled) (? source-reg) (? len)
(? target-reg))
(vextr VEXTRS 5))
\f
(let-syntax ((depos
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compled) (? source-reg) (? pos) (? len)
(? target-reg))
(5 (- 31 pos))
(5 (- 32 len)))))))
(vdepos
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compled) (? source-reg) (? len)
(? target-reg))
(5 #b00000)
(5 (- 32 len)))))))
(idepos
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compled) (? immed) (? pos) (? len)
(? target-reg))
(5 (- 32 len)))))))
(videpos
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
(((? compl compled) (? immed) (? len)
(? target-reg))
(vdepos ZVDEP 0))
\f
(let-syntax ((Probe-Read-Write
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
((() (OFFSET 0 (? space) (? base)) (? priv-reg)
(? target-reg))
|#
\f
(let-syntax ((floatarith-1
- (macro (keyword extn-a extn-b)
+ (lambda (keyword extn-a extn-b)
`(define-instruction ,keyword
((((? fmt fpformat)) (? source-reg) (? target-reg))
(LONG (6 #x0c)
(4 #b0000)
(5 target-reg))))))
(floatarith-2
- (macro (keyword extn-a extn-b)
+ (lambda (keyword extn-a extn-b)
`(define-instruction ,keyword
((((? fmt fpformat)) (? source-reg1) (? source-reg2)
(? target-reg))
(5 condition))))
(let-syntax ((fpconvert
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
((((? sf fpformat) (? df fpformat))
(? source-reg1)
;; tested before use. WLH 11/18/86
(let-syntax ((multdiv
- (macro (keyword extn)
+ (lambda (keyword extn)
`(define-instruction ,keyword
((() (? reg-1) (? reg-2))
(LONG (6 #x04)
(16 #b1000000000000000))))
(let-syntax ((multdivresult
- (macro (keyword extn-a extn-b)
+ (lambda (keyword extn-a extn-b)
`(define-instruction ,keyword
((() (? reg-t))
(LONG (6 #x04)
#| -*-Scheme-*-
-$Id: lapgen.scm,v 4.48 1999/01/02 06:06:43 cph Exp $
+$Id: lapgen.scm,v 4.49 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Rules for HPPA. Shared utilities.
;;;; Codes and Hooks
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
(LDI () ,code 28)))
\f
(let-syntax ((define-hooks
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: rules3.scm,v 4.42 1999/01/02 06:06:43 cph Exp $
+$Id: rules3.scm,v 4.43 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Invocations and Entries
\f
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
,(symbol-append 'CODE:COMPILER- name)))))
(define-optimized-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
,(symbol-append 'HOOK:COMPILER- name)))))
(define-allocation-primitive
- (macro (name)
+ (lambda (name)
(let ((prim (make-primitive-procedure name true)))
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
#| -*-Scheme-*-
-$Id: rulfix.scm,v 4.48 1999/01/02 06:06:43 cph Exp $
+$Id: rulfix.scm,v 4.49 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1989-1999 Massachusetts Institute of Technology
+Copyright (c) 1989-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Fixnum Rules
(let-syntax
((unary-fixnum
- (macro (name instr nsv fixed-operand)
+ (lambda (name instr nsv fixed-operand)
`(define-arithmetic-method ',name fixnum-methods/1-arg
(lambda (tgt src overflow?)
(if overflow?
(LAP (,instr () ,fixed-operand ,',src ,',tgt)))))))
(binary-fixnum
- (macro (name instr nsv)
+ (lambda (name instr nsv)
`(define-arithmetic-method ',name fixnum-methods/2-args
(lambda (tgt src1 src2 overflow?)
(if overflow?
(LAP (,instr () ,',src1 ,',src2 ,',tgt)))))))
(binary-out-of-line
- (macro (name . regs)
+ (lambda (name . regs)
`(define-arithmetic-method ',name fixnum-methods/2-args/special
(cons ,(symbol-append 'HOOK:COMPILER- name)
(lambda ()
#| -*-Scheme-*-
-$Id: rulflo.scm,v 4.40 1999/01/02 06:06:43 cph Exp $
+$Id: rulflo.scm,v 4.41 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1989-1999 Massachusetts Institute of Technology
+Copyright (c) 1989-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Flonum rules
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/1-arg
(lambda (target source)
(LAP (,opcode (DBL) ,',source ,',target)))))))
(list 'FLONUM-METHODS/1-ARG/SPECIAL))
(let-syntax ((define-out-of-line
- (macro (name)
+ (lambda (name)
`(define-arithmetic-method ',name flonum-methods/1-arg/special
,(symbol-append 'HOOK:COMPILER- name)))))
(define-out-of-line FLONUM-SIN)
(let-syntax
((define-flonum-operation
- (macro (primitive-name opcode)
+ (lambda (primitive-name opcode)
`(define-arithmetic-method ',primitive-name flonum-methods/2-args
(lambda (target source1 source2)
(LAP (,opcode (DBL) ,',source1 ,',source2 ,',target)))))))
#| -*-Scheme-*-
-$Id: assmd.scm,v 4.7 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: assmd.scm,v 1.36 89/08/28 18:33:33 GMT cph Exp $
+$Id: assmd.scm,v 4.8 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987, 1989, 1991, 1999 Massachusetts Institute of Technology
+Copyright (c) 1987, 1989, 1991, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Assembler Machine Dependencies. DEC Vax version
(declare (usual-integrations))
\f
-(let-syntax ((ucode-type (macro (name) `',(microcode-type name))))
+(let-syntax ((ucode-type (lambda (name) `',(microcode-type name))))
(define-integrable maximum-padding-length
;; Instructions can be any number of bytes long.
#| -*-Scheme-*-
-$Id: dassm1.scm,v 4.7 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: dassm1.scm,v 4.15 90/07/12 16:42:39 GMT jinx Exp $
+$Id: dassm1.scm,v 4.8 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; VAX Disassembler: User level
(cond ((not (< index end)) 'DONE)
((object-type?
(let-syntax ((ucode-type
- (macro (name) (microcode-type name))))
+ (lambda (name) (microcode-type name))))
(ucode-type linkage-section))
(system-vector-ref block index))
(loop (disassembler/write-linkage-section block
#| -*-Scheme-*-
-$Id: dassm2.scm,v 4.13 1999/01/02 06:06:43 cph Exp $
+$Id: dassm2.scm,v 4.14 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; VAX Disassembler: Top Level
\f
(define (disassembler/read-variable-cache block index)
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type quad)
(with-absolutely-no-interrupts
(lambda ()
(let-syntax ((ucode-type
- (macro (name) (microcode-type name)))
+ (lambda (name) (microcode-type name)))
(ucode-primitive
- (macro (name arity)
+ (lambda (name arity)
(make-primitive-procedure name arity))))
((ucode-primitive primitive-object-set-type 2)
(ucode-type compiled-entry)
#| -*-Scheme-*-
-$Id: instr2.scm,v 1.7 2001/12/20 20:51:16 cph Exp $
+$Id: instr2.scm,v 1.8 2001/12/20 21:45:25 cph Exp $
Copyright (c) 1987, 1989, 1999, 2001 Massachusetts Institute of Technology
\f
(let-syntax
((define-arithmetic
- (macro (name digit)
+ (lambda (name digit)
`(define-instruction ,name
((B (? op ea-r-b) (? res ea-m-b))
(BYTE (8 ,(+ #x80 digit)))
\f
(let-syntax
((define-bitwise
- (macro (name opcode)
+ (lambda (name opcode)
`(define-instruction ,name
((B (? mask ea-r-b) (? dst ea-m-b))
(BYTE (8 ,(+ #x80 opcode)))
#| -*-Scheme-*-
-$Id: instr3.scm,v 1.11 2001/12/20 20:51:16 cph Exp $
+$Id: instr3.scm,v 1.12 2001/12/20 21:45:25 cph Exp $
Copyright (c) 1987, 1989, 1991, 1999, 2001 Massachusetts Institute of Technology
(let-syntax
((define-field-instruction
- (macro (name suffix1 suffix2 opcode mode)
+ (lambda (name suffix1 suffix2 opcode mode)
`(define-instruction ,name
((,suffix1 (? pos ea-r-l) (? size ea-r-b) (? base ea-v-b)
(? dst ,mode))
\f
(let-syntax
((define-unconditional-transfer
- (macro (nameb namej bit)
+ (lambda (nameb namej bit)
`(begin
(define-instruction ,nameb
((B (@PCO (? dest)))
(let-syntax
((define-add/sub-bcd-instruction
- (macro (name opcode4)
+ (lambda (name opcode4)
`(define-instruction ,name
(((? oplen ea-r-w) (? op ea-a-b)
(? reslen ea-r-w) (? res ea-a-b))
(let-syntax
((define-add/sub-bcd-instruction
- (macro (name opcode)
+ (lambda (name opcode)
`(define-instruction ,name
(((? op1len ea-r-w) (? op1 ea-a-b)
(? op2len ea-r-w) (? op2 ea-a-b)
(let-syntax
((define-cvt-trailing-instruction
- (macro (name opcode)
+ (lambda (name opcode)
`(define-instruction ,name
(((? srclen ea-r-w) (? src ea-a-b)
(? tbl ea-a-b)
(let-syntax
((define-cvt-separate-instruction
- (macro (name opcode)
+ (lambda (name opcode)
`(define-instruction ,name
(((? srclen ea-r-w) (? src ea-a-b)
(? dstlen ea-r-w) (? dst ea-a-b))
#| -*-Scheme-*-
-$Id: lapgen.scm,v 4.16 1999/01/02 06:06:43 cph Exp $
+$Id: lapgen.scm,v 4.17 2001/12/20 21:45:25 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Rules for DEC VAX.
(define-integrable reg:stack-guard (INST-EA (@RO B 10 #x002C)))
(let-syntax ((define-codes
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
set! define lookup-apply))
(let-syntax ((define-entries
- (macro (start . names)
+ (lambda (start . names)
(define (loop names index)
(if (null? names)
'()
#| -*-Scheme-*-
-$Id: rules3.scm,v 4.12 1999/01/02 06:06:43 cph Exp $
+$Id: rules3.scm,v 4.13 2001/12/20 21:45:26 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Invocations and Entries.
(let-syntax
((define-special-primitive-invocation
- (macro (name)
+ (lambda (name)
`(define-rule statement
(INVOCATION:SPECIAL-PRIMITIVE
(? frame-size)
#| -*-Scheme-*-
-$Id: rulfix.scm,v 1.6 1999/01/02 06:06:43 cph Exp $
-$MC68020-Header: rules1.scm,v 4.34 1991/01/23 21:34:30 jinx Exp $
+$Id: rulfix.scm,v 1.7 2001/12/20 21:45:26 cph Exp $
-Copyright (c) 1989, 1991, 1999 Massachusetts Institute of Technology
+Copyright (c) 1989, 1991, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; LAP Generation Rules: Fixnum operations.
(let-syntax
((binary/commutative
- (macro (name instr eql)
+ (lambda (name instr eql)
`(define-fixnum-method ',name fixnum-methods/2-args
(lambda (target source1 source2)
(if (ea/same? source1 source2)
,',target)))))))))
(binary/noncommutative
- (macro (name instr)
+ (lambda (name instr)
`(define-fixnum-method ',name fixnum-methods/2-args
(lambda (target source1 source2)
(cond ((ea/same? source1 source2)
(let-syntax
((binary-fixnum/constant
- (macro (name instr null ->constant identity?)
+ (lambda (name instr null ->constant identity?)
`(define-fixnum-method ',name fixnum-methods/2-args-constant
(lambda (target source n)
(cond ((eqv? n ,null)
#| -*-Scheme-*-
-$Id: rtlreg.scm,v 4.6 1999/01/02 06:06:43 cph Exp $
+$Id: rtlreg.scm,v 4.7 2001/12/20 21:45:26 cph Exp $
-Copyright (c) 1987, 1988, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1987, 1988, 1990, 1999, 2001 Massachusetts Institute of Technology
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
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., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; RTL Registers
\f
(let-syntax
((define-register-references
- (macro (slot)
+ (lambda (slot)
(let ((name (symbol-append 'REGISTER- slot)))
(let ((vector `(,(symbol-append 'RGRAPH- name) *CURRENT-RGRAPH*)))
`(BEGIN (DEFINE-INTEGRABLE (,name REGISTER)