aboutsummaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'cpu')
-rw-r--r--cpu/ChangeLog4
-rw-r--r--cpu/m32c.cpu4
2 files changed, 6 insertions, 2 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index 975feea..667538a 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,7 @@
+2010-07-03 DJ Delorie <dj@delorie.com>
+
+ * m32c.cpu (f-dsp-8-s24): Mask high byte after shifting it.
+
2010-02-11 Doug Evans <dje@sebabeach.org>
* m32r.cpu (HASH-PREFIX): Delete.
diff --git a/cpu/m32c.cpu b/cpu/m32c.cpu
index 28d6ea5..bcc3616 100644
--- a/cpu/m32c.cpu
+++ b/cpu/m32c.cpu
@@ -572,10 +572,10 @@
)
(df f-dsp-8-s24 "24 bit signed" (all-isas) 8 24 INT
((value pc) (or SI
- (or (srl value 16) (and value #xff00))
+ (or (and (srl value 16) #xff) (and value #xff00))
(sll (ext INT (trunc QI (and value #xff))) 16)))
((value pc) (or SI
- (or (srl value 16) (and value #xff00))
+ (or (and (srl value 16) #xff) (and value #xff00))
(sll (ext INT (trunc QI (and value #xff))) 16)))
)