System.out.println();  System.out.println("#ifdef NEED_BOOT_RECORD_INITIALIZATION"); emitBootRecordInitialization(); System.out.println("#endif /* NEED_BOOT_RECORD_INITIALIZATION */");
  public static void main (String args[]) throws Exception {    // Process command line directives.    //    for (int i = 0, n = args.length; i < n; ++i) {      if (args[i].equals("-ia")) {              // image address        bootImageAddress = Integer.decode(args[++i]).intValue();        continue;      }      System.err.println("unrecognized command line argument: " + args[i]);      System.exit(-1);    }    if (0 == bootImageAddress) {      System.err.println("Error: Must specify boot image load address.");      System.exit(-1);    }    VM.initForTool();    System.out.print("/*------ MACHINE GENERATED: DO NOT EDIT ------*/\n\n");    System.out.println("#define VM_Address unsigned int");    System.out.println("#ifdef NEED_BOOT_RECORD_DECLARATIONS");    emitBootRecordDeclarations();    System.out.println("#endif /* NEED_BOOT_RECORD_DECLARATIONS */");    System.out.println();    System.out.println("#ifdef NEED_VIRTUAL_MACHINE_DECLARATIONS");    emitVirtualMachineDeclarations();    System.out.println("#endif /* NEED_VIRTUAL_MACHINE_DECLARATIONS */");    System.out.println();    System.out.println("#ifdef NEED_ASSEMBLER_DECLARATIONS");    emitAssemblerDeclarations();    System.out.println("#endif /* NEED_ASSEMBLER_DECLARATIONS */");  }