Duda puertos y comandos

Re: Duda puertos y comandos

de Federico Rivero -
Número de respuestas: 0
Hola Julieta!

Perdón, sí, ahora ví tu mensaje en otro hilo, se nos pasó. Respondo entrelíneas:

1. En el procedimiento de cambiar modo, cuando lo ejecuto y hago todos los pasos, al final en salida de ensamblado/ejecucion me sale: Error : se intento hace pop con el satck vacio. Supongo que es cuando hago out al puerto log(22). y el codigo. No hice el paso anterior de mandar el codigo 64, porque no entendi que hay que hacer, si es lo de comando [parametro], o no, que tampoco entendi eso de comando [parametro].

Mmm, si te da ese error es poque estás haciendo pop con un stack vacío :). Fijate si estás ejecutando un 'ret' sin haber hecho un 'call' previo, o si estás haciendo 'pop' sin haber ejecutado 'push' antes. No está relacionado con los OUT que estés haciendo.

2. En data tengo que definir los puertos entrada, salidas y log?

En .data se colocan las directivas del ensamblador para definir memoria (db, dw). Si te referís a los EQU para definir los valores de los puertos de entrada, salida y log, esos pueden ir en cualquier parte ya que son directivas para el ensamblador, pero el inicio del archivo (antes de .data o .code) es lo más razonable. Te recomiendo revisar los ejemplos del ArquiSim.

3. Y en la parte de puertos, no tenemos que poner nada no? solo ponerlos puertos de entrada , que nos van a dar ustedes?

En la sección de puertos vas a definir los valores de los puertos de entrada (en este caso el único relevante es el 20) junto con los valores de entrada a leer. Te recomeindo mirar el video de presentación del Arqui Sim del año pasado (colgado en la sección de laboratorio), ahí Gustavo explica cómo funcionan los puertos de E/S soportados.

4. Y supongo que en algun momento del codigo tenemos que poner in puerto de entrada ... , eso donde iria? al principio del código?

Eso es parte de la resolución del laboratorio, el dónde poner los IN queda claro a partir de la compilación de la solución en C que hagas. 

Saludos,
Federico