Example #1
0
        private static void Main(string[] args)
        {
            string inputPath = "assembler_test.asm";

            if (args.Length >= 1)
            {
                if (File.Exists(args[0]) && Path.GetExtension(args[0]) == ".asm")
                {
                    inputPath = args[0];
                    Console.WriteLine(inputPath);
                }
            }

            if (File.Exists(inputPath))
            {
                ASM    Assembler = new ASM();
                string input     = System.IO.File.ReadAllText(inputPath);
                Console.WriteLine(input);

                byte[] program = Assembler.Assemble(input);

                using (BinaryWriter writer = new BinaryWriter(File.Open(Path.GetFileNameWithoutExtension(inputPath) + ".rom", FileMode.Create)))
                {
                    foreach (byte b in program)
                    {
                        writer.Write(b);
                    }
                }
            }
            else
            {
                if (inputPath != "")
                {
                    Console.WriteLine("Could not find file:");
                    Console.WriteLine(inputPath);
                }
                else
                {
                    Console.WriteLine("SG16 Assembler");
                    Console.WriteLine("Usage: Assembler.exe <input file>.asm");
                    Console.WriteLine("Drag-and-drop is also supported.");
                }
                Console.ReadLine();
            }
        }