Esempio n. 1
0
        private static void ScanSingleByte32(VirtualMachine vm)
        {
            byte dest = vm.PhysicalMemory.GetByte(vm.Processor.ESBase + vm.Processor.EDI);

            Cmp.ByteCompare(vm.Processor, vm.Processor.AL, dest);

            if (!vm.Processor.Flags.Direction)
            {
                vm.Processor.EDI++;
            }
            else
            {
                vm.Processor.EDI--;
            }
        }
Esempio n. 2
0
        private static void CompareSingleByte32(VirtualMachine vm)
        {
            var srcBase = vm.Processor.GetOverrideBase(SegmentIndex.DS);

            byte src  = vm.PhysicalMemory.GetByte(srcBase + vm.Processor.ESI);
            byte dest = vm.PhysicalMemory.GetByte(vm.Processor.ESBase + vm.Processor.EDI);

            Cmp.ByteCompare(vm.Processor, src, dest);

            if (!vm.Processor.Flags.Direction)
            {
                vm.Processor.ESI++;
                vm.Processor.EDI++;
            }
            else
            {
                vm.Processor.ESI--;
                vm.Processor.EDI--;
            }
        }