comparison m68k.cpu @ 2639:0046305e3fa8

Fix movep with negative displacement
author Michael Pavone <pavone@retrodev.com>
date Wed, 26 Feb 2025 20:46:00 -0800
parents e8b630a1ea4e
children bde8ec2d0f83
comparison
equal deleted inserted replaced
2638:f5603b4ee14d 2639:0046305e3fa8
2451 m68k_prefetch 2451 m68k_prefetch
2452 2452
2453 0000DDD10Z001AAA movep_ay_dx 2453 0000DDD10Z001AAA movep_ay_dx
2454 local address 32 2454 local address 32
2455 m68k_prefetch 2455 m68k_prefetch
2456 sext 32 scratch1 scratch1
2456 scratch1 += aregs.A 2457 scratch1 += aregs.A
2457 address = scratch1 + 2 2458 address = scratch1 + 2
2458 ocall read_8 2459 ocall read_8
2459 dregs.D:1 = scratch1 << 8 2460 dregs.D:1 = scratch1 << 8
2460 scratch1 = address 2461 scratch1 = address
2472 end 2473 end
2473 m68k_prefetch 2474 m68k_prefetch
2474 2475
2475 0000DDD11Z001AAA movep_dx_ay 2476 0000DDD11Z001AAA movep_dx_ay
2476 m68k_prefetch 2477 m68k_prefetch
2478 sext 32 scratch1 scratch1
2477 scratch2 = scratch1 + aregs.A 2479 scratch2 = scratch1 + aregs.A
2478 if Z 2480 if Z
2479 scratch1 = dregs.D >> 24 2481 scratch1 = dregs.D >> 24
2480 ocall write_8 2482 ocall write_8
2481 scratch2 += 2 2483 scratch2 += 2