Exemple #1
0
        static void Main(string[] args)
        {
            // 引数チェック
            if (args.Length != 1)
            {
                Console.WriteLine("usage x86Emulator filename");
                return;
            }

            Emulator emu = new Emulator(1024 * 1024, 0x7c00, 0x7c00);

            // バイナリファイルをメモリ展開
            if (emu.Allocate(args[0], 0x7c00) != 0)
            {
                return;
            }

            while (true)
            {
                emu.Fetch();
                if (emu.Decode() != 0)
                {
                    break;
                }
                if (emu.Execute() != 0)
                {
                    break;
                }
            }

            emu.DumpRegisters();
            return;
        }