| r8609 Saturday 24th July, 2010 at 18:42:00 UTC by Wilbert Pol |
|---|
| arm.c: Fixed word reading from non-aligned address in big endian mode. |
| [src/emu/cpu/arm] | arm.c |
| r8608 | r8609 | |
|---|---|---|
| 619 | 619 | } |
| 620 | 620 | else |
| 621 | 621 | { |
| 622 | SetRegister(cpustate, rd,READ32(rnv)); | |
| 622 | UINT32 data = READ32(rnv); | |
| 623 | ||
| 624 | if ( cpustate->endian == ENDIANNESS_BIG ) | |
| 625 | { | |
| 626 | if ( rnv & 0x02 ) | |
| 627 | data = ( data >> 16 ) | ( data << 16 ); | |
| 628 | if ( rnv & 0x01 ) | |
| 629 | data = ( data >> 24 ) | ( data << 8 ); | |
| 630 | } | |
| 631 | SetRegister(cpustate, rd, data); | |
| 623 | 632 | } |
| 624 | 633 | } |
| 625 | 634 | } |
| Previous 50 | 9070 Revisions | Next 50 |