Advertisement
Guest User

MESS

a guest
Aug 19th, 2012
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.23 KB | None | 0 0
  1. Index: src/emu/cpu/i386/i386op32.c
  2. ===================================================================
  3. --- src/emu/cpu/i386/i386op32.c (revision 15930)
  4. +++ src/emu/cpu/i386/i386op32.c (working copy)
  5. @@ -3472,9 +3472,23 @@
  6.  {
  7.         UINT32 ea;
  8.         if( cpustate->segment_prefix ) {
  9. -               ea = i386_translate(cpustate, cpustate->segment_override, REG32(EBX) + REG8(AL), 0 );
  10. +               if(cpustate->address_prefix)
  11. +               {
  12. +                       ea = i386_translate(cpustate, cpustate->segment_override, REG16(BX) + REG8(AL), 0 );
  13. +               }
  14. +               else
  15. +               {
  16. +                       ea = i386_translate(cpustate, cpustate->segment_override, REG32(EBX) + REG8(AL), 0 );
  17. +               }
  18.         } else {
  19. -               ea = i386_translate(cpustate, DS, REG32(EBX) + REG8(AL), 0 );
  20. +               if(cpustate->address_prefix)
  21. +               {
  22. +                       ea = i386_translate(cpustate, DS, REG16(BX) + REG8(AL), 0 );
  23. +               }
  24. +               else
  25. +               {
  26. +                       ea = i386_translate(cpustate, DS, REG32(EBX) + REG8(AL), 0 );
  27. +               }
  28.         }
  29.         REG8(AL) = READ8(cpustate,ea);
  30.         CYCLES(cpustate,CYCLES_XLAT);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement