1. 02 Apr, 2020 12 commits
  2. 01 Apr, 2020 2 commits
  3. 26 Mar, 2020 2 commits
  4. 09 Jul, 2019 1 commit
  5. 08 Jul, 2019 4 commits
    • Mariano Street's avatar
      Área de argumentos de llamada a función no forzada · efd1c528
      Mariano Street authored
      De acuerdo a la convención de llamada de MIPS, al llamar a una función
      con argumentos, debe reservarse un espacio en el tope de la pila para
      la llamada área de argumentos de llamada a función. En esta, la
      función llamada puede almacenar los argumentos recibidos en registros.
      La presencia de esta área es importante ya que se asume su existencia
      y sin ella podría corromperse lo que haya inmediatamente arriba en la
      pila.
      
      Al pasar argumentos de línea de comando a la manera de C (con `argc` y
      `argv` pasados como argumentos de función al inicio del proceso), se
      hace necesario tener el área descrita. Hasta ahora, la función
      `WriteArgs`, que escribe el `argv` correspondiente a un proceso en su
      memoria, se encargaba de esto automáticamente. Sin embargo, esto no es
      apropiado por tres motivos:
      
      1. Se mezcla el manejo de argumentos de línea de comando con una parte
         del manejo de argumentos de función.
      2. Parte del segundo manejo queda ausente, con lo cual se trata de una
         funcionalidad incompleta, y que si luego se implementa por completo,
         tiende a quedar con una implementación desordenada.
      3. `WriteArgs` se presenta como una función independiente del método
         de solicitud de argumentos, pero esto lo ata al método de C. Si en
         vez de pasaje de argumentos de función al inicio se optara por
         ejemplo por una llamada a sistema, esta reserva de área sería
         innecesaria y generaría una complicación adicional.
      
      Como solución a estos problemas, este commit elimina la línea
      respectiva de `WriteArgs` y, en cambio, documenta el caso en `args.hh`
      para que se haga cargo quien programe el código cliente.
      efd1c528
    • Mariano Street's avatar
      Compilación de `args` por defecto · a0186983
      Mariano Street authored
      Ahora `args` se incluye en la compilación por defecto. Dado que antes
      no lo estaba, se habían acumulado errores menores de compilación sin
      detectar. Este commit soluciona dichos errores.
      a0186983
    • Mariano Street's avatar
      Nueva clase para abstraer NOFF · 87f7a322
      Mariano Street authored
      87f7a322
    • Mariano Street's avatar
      89243f93
  6. 25 May, 2019 8 commits
  7. 25 Apr, 2019 11 commits