From: <mic...@us...> - 2007-08-21 16:12:25
|
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. |