#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/assmd.scm,v 1.30 1987/07/13 22:04:47 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/assmd.scm,v 1.31 1987/07/30 21:43:32 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(declare (usual-integrations))
\f
+(declare (integrate addressing-granularity scheme-object-width
+ maximum-padding-length
+ maximum-block-offset block-offset-width))
+
(define addressing-granularity 8)
(define scheme-object-width 32)
+
;; Instruction length is always a multiple of 16
(define maximum-padding-length 16)
+;; Block offsets are always words
+(define maximum-block-offset (- (expt 2 16) 2))
+(define block-offset-width 16)
+
(define make-nmv-header)
(let ()
(define (object->bit-string object)
(bit-string-append
(unsigned-integer->bit-string 24 (primitive-datum object))
- (unsigned-integer->bit-string 8 (primitive-type object))))
\ No newline at end of file
+ (unsigned-integer->bit-string 8 (primitive-type object))))
+
+(define (block-offset->bit-string offset start?)
+ (unsigned-integer->bit-string block-offset-width
+ (if start? offset (1+ offset))))
\ No newline at end of file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/instr2.scm,v 1.12 1987/07/30 07:09:32 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/instr2.scm,v 1.13 1987/07/30 21:44:02 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(WORD (16 expression SIGNED)))
((L (? expression))
- (WORD (32 expression SIGNED)))
-
- ((O (? expression))
- (GROWING-WORD
- (offset expression)
- ((0 65535)
- (WORD (16 offset)))
- ;; Always non-negative
- ((0 ())
- (WORD (32 (1+ offset)))))))
+ (WORD (32 expression SIGNED))))
\f
;;;; BCD Arithmetic
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.187 1987/07/30 07:10:24 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.188 1987/07/30 21:44:13 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(set! compiler:external-labels
(cons label compiler:external-labels))
(LAP (ENTRY-POINT ,label)
- (DC O (- ,label ,block-start-label))
+ (BLOCK-OFFSET ,label)
(LABEL ,label)))
\f
;;;; Registers/Entries
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.37 1987/07/30 07:10:47 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.38 1987/07/30 21:44:39 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(make-environment
(define :name "Liar (Bobcat 68020)")
(define :version 1)
- (define :modification 37)
+ (define :modification 38)
(define :files)
; (parse-rcs-header
-; "$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.37 1987/07/30 07:10:47 jinx Exp $"
+; "$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.38 1987/07/30 21:44:39 jinx Exp $"
; (lambda (filename version date time zone author state)
; (set! :version (car version))
; (set! :modification (cadr version))))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules3.scm,v 1.12 1987/07/30 07:10:59 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules3.scm,v 1.13 1987/07/30 21:44:51 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(define (make-external-label label)
(set! compiler:external-labels
(cons label compiler:external-labels))
- (LAP (DC O (- ,label ,*block-start-label*))
+ (LAP (BLOCK-OFFSET ,label)
(LABEL ,label)))