Revision: 171
http://pearcolator.svn.sourceforge.net/pearcolator/?rev=171&view=rev
Author: michael_baer
Date: 2007-08-21 09:12:27 -0700 (Tue, 21 Aug 2007)
Log Message:
-----------
- Fix bug in loadInstruction16 that was also present in loadUnsigned16
Modified Paths:
--------------
src/org/binarytranslator/generic/memory/IntAddressedLittleEndianMemory.java
Modified: src/org/binarytranslator/generic/memory/IntAddressedLittleEndianMemory.java
===================================================================
--- src/org/binarytranslator/generic/memory/IntAddressedLittleEndianMemory.java 2007-08-21 15:29:38 UTC (rev 170)
+++ src/org/binarytranslator/generic/memory/IntAddressedLittleEndianMemory.java 2007-08-21 16:12:27 UTC (rev 171)
@@ -519,11 +519,11 @@
public int loadInstruction16(int addr) {
switch (addr & 3) {
default:
- return loadWordAlignedInstruction32(addr) >>> 16;
+ return loadWordAlignedInstruction32(addr) & 0xFFFF;
case 1:
return (loadWordAlignedInstruction32(addr) >> 8) & 0xFFFF;
case 2:
- return loadWordAlignedInstruction32(addr) & 0xFFFF;
+ return (loadWordAlignedInstruction32(addr) >> 16) & 0xFFFF;
case 3: // 2 loads to deal with spanning int problem
return (loadWordAlignedInstruction32(addr) >>> 24)
| ((loadWordAlignedInstruction32(addr + 1) << 8) & 0xFF00);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|