public static void start_vm() throws InterpreterError{
		CFuncLocation main_func_location = code_node_mgr.get_main_func();
		if(main_func_location != null){
			push_func("main");
			jump_to_far(main_func_location);
			while(true){
				CQuaRunner cur_runner = get_cur_runner();
				run_to(26, cur_runner);
				CGlobalDef.cout(cur_runner.to_table_str());
				int run_result = cur_runner.run();
				
				if(run_result == CGlobalDef.ERROR){
					CGlobalDef.cout_end("ERROR");
					break;
				}
				else if(run_result == CGlobalDef.END){
					CGlobalDef.cout_end("NORMAL END");
					break;
				}
				
				program_counter.qua_index++;
			}
		}
		else{
			throw new InterpreterError("Main function not found");
		}
	}