[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LOAD-BYTE, DEPOSIT-BYTE bugs ....



I have discovered a few bugs in LOAD-BYTE and DEPOSIT-BYTE generation
by SRCTRN 20. They are:

1) LOAD-BYTE didn't evaluate the shift displacement in the generated code.
   This was a typeo.

2) DEPOSIT-BYTE didn't shift the byte to be deposited before anding with
   the 'hole' mask.

The following is a SRCCOM of the fixes to SRCTRN 20 to eliminate these
problems. (How do I get the MIT-MC sources updated?)

Thanks,
Scott Robinson
(617) 467-6988
SROBINSON@DEC-MARLBORO

; SRCTRN.LSP.21 & SRCTRN.LSP.20  6-Jun-82 1451	PAGE 1
LINE 12, PAGE 1
1)				  (setq |verno| (cond ((fixp x) file)  ('/21)))))
1)	
LINE 12, PAGE 1
2)				  (setq |verno| (cond ((fixp x) file)  ('/20)))))
2)	

LINE 65, PAGE 3
1)					    (setq word `(LSH ,word (- ,position))))
1)				       `(BOOLE 1 ,word ,byte-mask))))
LINE 65, PAGE 3
2)					    (setq word `(LSH ,word ,(- position))))
2)				       `(BOOLE 1 ,word ,byte-mask))))

LINE 77, PAGE 3
1)				 ((let ((lsher `(LSH ,val ,position))
1)					(masked-word `(BOOLE 4 ,word ,shift-mask)))
1)				    (if (and nval (= nval 0))
LINE 77, PAGE 3
2)				 ((let ((masked-word `(BOOLE 4 ,word ,shift-mask)))
2)				    (if (and nval (= nval 0))


LINE 84, PAGE 3
1)						       `(BOOLE 1 ,lsher ,shift-mask)))))))))))
1)		    (ldbp `(BOOLE 1 (LSH ,word (- ,position)) ,byte-mask))
LINE 83, PAGE 3
2)						       `(BOOLE 1 ,val ,shift-mask)))))))))))
2)		    (ldbp `(BOOLE 1 (LSH ,word (- ,position)) ,byte-mask))

   --------