private static void ScanSingleDWord32(VirtualMachine vm) { uint dest = vm.PhysicalMemory.GetUInt32(vm.Processor.ESBase + vm.Processor.EDI); Cmp.DWordCompare(vm.Processor, (uint)vm.Processor.EAX, dest); if (!vm.Processor.Flags.Direction) { vm.Processor.EDI += 4; } else { vm.Processor.EDI -= 4; } }
private static void CompareSingleDWord32(VirtualMachine vm) { var srcSegment = vm.Processor.GetOverrideBase(SegmentIndex.DS); uint src = vm.PhysicalMemory.GetUInt32(srcSegment + vm.Processor.ESI); uint dest = vm.PhysicalMemory.GetUInt32(vm.Processor.ESBase + vm.Processor.EDI); Cmp.DWordCompare(vm.Processor, src, dest); if (!vm.Processor.Flags.Direction) { vm.Processor.ESI += 4; vm.Processor.EDI += 4; } else { vm.Processor.ESI -= 4; vm.Processor.EDI -= 4; } }