int main(int argc, char** argv){ Cpu& cpu = *Cpu::create_cpu(); bool end = false; char line[512]; while (!end && !cin.eof() && cin.getline(line, 512)){ switch (line[0]){ case 'r': cmd_reg(line, *cpu.getMips()); break; case 'p': cmd_pc(line, *cpu.getMips()); break; case 'm': cmd_mem(line, *cpu.getMem()); break; case '.': cmd_exe(line, cpu); break; case 'q': end = true; break; default: COMMAND_UNKNOWN(); }; } Cpu::delete_cpu(&cpu); return EXIT_SUCCESS; };
int main(int argc, char *argv[]){ char line[200]; char *lines[MAX_ARGS]; char *args[MAX_ARGS]; int count = 0; int space = 0; printf("ishell> "); gets(line); while(1){ count = tokenizer(line, lines, ";"); for (int i =0; i< count; i++){ tokenizer(lines[i], args, " "); if(space == 1 && args[i] == NULL){ args[0] = "ls"; cmd_exe(args); space = 0; break; } if(args[i] == NULL){ space ++; } if (strcmp(args[0],"exit") == 0){ exit(0); } cmd_exe(args); } printf("ishell> "); gets(line); } }