From 19a2c83b883dac927db53d6a719bcf3719d76d17 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Thu, 16 Jul 1987 10:13:36 +0000 Subject: [PATCH] Change branch types from S and L to B and W. --- v7/src/compiler/machines/bobcat/instr3.scm | 59 +++++++++++++++++----- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/v7/src/compiler/machines/bobcat/instr3.scm b/v7/src/compiler/machines/bobcat/instr3.scm index 9e63db9da..84c8f941e 100644 --- a/v7/src/compiler/machines/bobcat/instr3.scm +++ b/v7/src/compiler/machines/bobcat/instr3.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/instr3.scm,v 1.10 1987/07/08 22:07:19 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/instr3.scm,v 1.11 1987/07/16 10:13:36 jinx Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -39,60 +39,91 @@ MIT in each case. |# ;;;; Control Transfer +;; The size U (unknown, undecided?) means that the assembler should +;; choose the right size. For the time being it is the same as W. + (define-instruction B - (((? c cc) S (@PCO (? o))) + (((? c cc) B (@PCO (? o))) (WORD (4 #b0110) (4 c) (8 o SIGNED))) - (((? c cc) S (@PCR (? l))) + (((? c cc) B (@PCR (? l))) (WORD (4 #b0110) (4 c) (8 l SHORT-LABEL))) - (((? c cc) L (@PCO (? o))) + (((? c cc) W (@PCO (? o))) (WORD (4 #b0110) (4 c) (8 #b00000000)) (immediate-word o)) - (((? c cc) L (@PCR (? l))) + (((? c cc) W (@PCR (? l))) (WORD (4 #b0110) (4 c) (8 #b00000000)) - (relative-word l))) + (relative-word l)) + (((? c cc) U (@PCO (? o))) + (WORD (4 #b0110) + (4 c) + (8 #b00000000)) + (immediate-word o)) + + (((? c cc) U (@PCR (? l))) + (WORD (4 #b0110) + (4 c) + (8 #b00000000)) + (relative-word l))) + (define-instruction BRA - ((S (@PCO (? o))) + ((B (@PCO (? o))) (WORD (8 #b01100000) (8 o SIGNED))) - ((S (@PCR (? l))) + ((B (@PCR (? l))) (WORD (8 #b01100000) (8 l SHORT-LABEL))) - ((L (@PCO (? o))) + ((W (@PCO (? o))) (WORD (16 #b0110000000000000)) (immediate-word o)) - ((L (@PCR (? l))) + ((W (@PCR (? l))) + (WORD (16 #b0110000000000000)) + (relative-word l)) + + ((U (@PCO (? o))) + (WORD (16 #b0110000000000000)) + (immediate-word o)) + + ((U (@PCR (? l))) (WORD (16 #b0110000000000000)) (relative-word l))) (define-instruction BSR - ((S (@PCO (? o))) + ((B (@PCO (? o))) (WORD (8 #b01100001) (8 o SIGNED))) - ((S (@PCR (? o))) + ((B (@PCR (? o))) (WORD (8 #b01100001) (8 o SHORT-LABEL))) - ((L (@PCO (? o))) + ((W (@PCO (? o))) + (WORD (16 #b0110000100000000)) + (immediate-word o)) + + ((W (@PCR (? l))) + (WORD (16 #b0110000100000000)) + (relative-word l)) + + ((U (@PCO (? o))) (WORD (16 #b0110000100000000)) (immediate-word o)) - ((L (@PCR (? l))) + ((U (@PCR (? l))) (WORD (16 #b0110000100000000)) (relative-word l))) -- 2.25.1