• Viernes 19 de Abril de 2024, 22:13

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - manurodri189

Páginas: 1 [2] 3 4 5
26
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 12 de Junio de 2009, 09:28 »
Despues de unos dias ocupado con otras cosas, he vuelto a la carga con esto, a ver si ya lo acabo que creo que queda poquito.

Al final me decidí por la perdida de rango, entoces solamente tendria que hacer la siguiente modificacion:

Código: ASM
  1. almacenar:
  2.  
  3.     sb $a0,0($a3)   #meto el caracter en la primera direccion de a3
  4.     sb $a1,0($a2)   #meto el contador en la primera direccion de a4
  5.  
  6.     #avanzo el puntero
  7.  
  8.     addiu $a3,$a3,1
  9.     addiu $a2,$a2,1
  10.  

Osea almacenar un byte en vez de una palabra, y el desplazamiento 1 en vez de 4, cierto?

Otra cosa, me dices que para eliminar el caracter "enter" seria una vez lo tengo en el buffer quitarlo, y que es relativamente facil, mira tengo esto:

Código: ASM
  1. #Almacenar el String en la matriz
  2. # Número de syscall
  3.     ori $v0,$zero,8
  4. # $a0 = buffer para guardar la cadena
  5.     la $a0,Entrance
  6. # $a1 = tamaño a leer
  7.     ori $a1,$zero,80
  8.     syscall
  9.  

Ahora mismo tengo la cadena en Entrance, incluyendo el caracter "enter", no se me ocurre como, o almenos una manera sencilla, se me ocurre, que una vez tenga la cadena medita en Entrance, calcular el tamaño de entrance, y volver a leer pero ahora desde Entrance, a una nueva matriz, donde el tamaño sea el tamaño de Entrance-1, pero esto no se me ocurre como hacerlo y menos de manera sencilla, alguna solución mas factible?

Salu2

PD: Muchas gracias de nuevo.

27
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Sábado 6 de Junio de 2009, 13:16 »
Cita de: "m0skit0"
¿Qué diferencia hay entre un número de un byte y uno de una palabra?.

Pues no lo se tío, el tamaño seguro, porque una palabra son 4 bytes, pero no se la diferencia a la hora de operar.

Salu2

28
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Sábado 6 de Junio de 2009, 12:43 »
Cita de: "m0skit0"
Sí, pero tu problema ahora va a ser el alineamiento. Es decir, si guardas un byte y una palabra, la palabra no va a estar alineada en una dirección múltiplo de 4 bytes y te va a dar error de alineamiento. Esto lo puedes solucionar de 2 formas: o bien convirtiendo los bytes en palabras (con el consiguiente gasto de memoria) o bien conviertes los números en bytes (con la consiguiente pérdida de rango).

Que quieres decir con perdida de rango? si lo pmeto como byte, no podre operar con el como numero? porque lo necesitaria para decodificarlo, no? y si lo meto como palabra, a la hora de imprimirlo chungo, no? que me recomiendas?

Citar
Mejor elimínalo al principio, justo tras guardar la cadena en Encode. Ya que es el penúltimo carácter, debería ser algo sencillo.

Osea antes de meterlo a encode, directamente no lo meto y listo, no? esa es la idea verdad? Y para la decodificacion posterior algo parecido, no?

Salu2

29
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 14:46 »
Pues el 2 lo he acabado usando porque con el 4 no me dejaba.

Pues lo que esta hecho funciona, al menos con los caracteres, ya que estos si me los imprime correctamete.

Lo de la impresion de los numeros de momento, como era de prueba no lo voy a hacer. Asi que supongo que en encode1, tengo los caracteres, y en encode2, las veces que se repite.

Ahora he creado un nuevo "vector" encode, tendria que almacenar un numero, una letra, y asi, hasta que no sea final de caracter, no es asi? algo como el siguiente caracter, no?

Por cierto recuerdo que el enter me lo contaba, como lo puedo eliminar de encode 1 y de encode2?

Salu2

30
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 14:01 »
Cierto, tengo que coger soltura con esto, vamos a ver:

Lo de avanzar el puntero, error tonto,

Código: ASM
  1.  #avanzo el puntero
  2.  
  3.     addiu $t3,$t3,1
  4.     addiu $t4,$t4,1
  5.  

Y lo del syscall error tonto tambien, solamente tengo que cambiar el 4 por un 1.

Y ahora creo que lo otro te he entendido, pongo lo que he modificado:

Código: ASM
  1. start:
  2.     la $s0, Entrance
  3.     la $s3, encode1  #almaceno la direccion de encode1 en s3, s3 es el puntero
  4.     la $s4, encode2  #almaceno la direccion de encode2 en s4, s4 es el puntero
  5.     or $a3,$zero,s3
  6.     or $a4,$zero,s4
  7.  

Como aqui solo entra una vez, pues preparo los registros, no es asi?

Código: ASM
  1. almacenar:
  2.  
  3.     sb $a0,0($a3)   #meto el caracter en la primera direccion de s3
  4.     sw $a1,0($a4)   #meto el contador en la primera direccion de s4
  5.  
  6.     #avanzo el puntero
  7.  
  8.     addiu $a3,$a3,1
  9.     addiu $a4,$a4,1
  10.  
  11. # Volvemos de la función
  12.     jr $ra
  13.     nop
  14.  

Lo unico que me da errores en los or, no se hacia asi? independientemente de los errores en los or, la idea es esa, verdad?

Salu2

31
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 13:11 »
Ahora me pasa una cosa rarisima.

Dejo la funcion así:

Código: ASM
  1. almacenar:
  2.     la $t3, encode1  #almaceno la direccion de encode1 en s3, s3 es el puntero
  3.     la $t4, encode2  #almaceno la direccion de encode2 en s4, s4 es el puntero
  4.  
  5.     sb $a0,0($t3)   #meto el caracter en la primera direccion de s3
  6.     sw $a1,0($t4)   #meto el contador en la primera direccion de s4
  7.  
  8.     #avanzo el puntero
  9.  
  10.     addiu $t3,$zero,1
  11.     addiu $t4,$zero,1
  12.  
  13. # Volvemos de la función
  14.     jr $ra
  15.     nop
  16.  

y para finalizar el programa e imprimir asi:

Código: ASM
  1. fin:
  2.  
  3.     ori $v0,$zero,4
  4.     la $a0,encode1
  5.     syscall
  6.  
  7.     ori $v0,$zero,4
  8.     la $a0,encode2
  9.     syscall
  10.  
  11.     ori $v0,$zero,10   # Terminamos con exit
  12.     syscall
  13.  

Pues bien cuando lo ejecuto todo de golpe, no hace nada, se queda seco.

Y cuando lo ejecuto paso por paso, cuando acaba empieza a dar excepciones del tipo:



Se supone que lo tengo guardado en encode1 y encode2, no?

Salu2

32
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 13:05 »
:ouch: vaya paciencia la tuya  :D

Salu2

33
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 12:45 »
Lo de s3 es que se me ha pasado, en el segundo queria poner s4.

Vale lo de a0 lo entiendo, es ciero que se pasaban por esos registros, aunque el caracter este también en s1.

Pero lo de a1, no, en a1 esta el siguiente caracter y no el contador, que, no? osea si es asi, entonces en no_iguales tendria que guardar el $t1 en un registro aX como puede ser el a4, no?

Salu2

34
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 12:06 »
Bien, creo que lo he entendido, ahora no me da fallo al ejecutarlo, pongo el método:

Código: ASM
  1. almacenar:
  2.     la $s3, encode1  #almaceno la direccion de encode1 en s3, s3 es el puntero
  3.     la $s4, encode2  #almaceno la direccion de encode2 en s4, s4 es el puntero
  4.  
  5.     #sb para caracter
  6.     #sw para los numeros
  7.     sb $t1,0($s3)   #meto el caracter en la primera direccion de s3
  8.     sw $s1,0($s3)   #meto el contador en la primera direccion de s4
  9.  
  10.     #avanzo el puntero
  11.  
  12.     addiu $s3,$zero,1
  13.     addiu $s3,$zero,1
  14.  
  15. # Volvemos de la función
  16.     jr $ra
  17.     nop
  18.  

Bien, no te entendi bien esto:

Citar
Además, acuérdate de que las funciones no deberían modificar el valor de los registros sX, o si lo hacen deben restaurar el valor que tenían previamente.

Osea en los Sx, debo almacenar algo, y dejarlo perenne? entonces seria mejor que usara los registros tX en la funcion almacenar en vez de los sX, no?

Ahora intento imprimirlo para ver si lo he hecho bien:

Código: ASM
  1. fin:
  2.  
  3.     ori $v0,$zero,4
  4.     la $a0,encode1
  5.     syscall
  6.  
  7.     ori $v0,$zero,4
  8.     la $a0,encode2
  9.     syscall
  10.  
  11.     ori $v0,$zero,10   # Terminamos con exit
  12.     syscall
  13.  

Pero el programa no imprime nada, osea que algo en almacenar no tira, porque creo que lo de imprimir si lo cogí.

Salu2

35
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 11:37 »
Citar
Me parece que ese código no te va a funcionar porque es erróneo, y mucho. Pruébalo y verás lo que te dice el simulador. Te falta por aprender ensamblador MIPS básico... y te aconsejo que te pongas las pilas, porque no siempre vas a tener el foro delante, no sé si me explico  :P

Creo que estoy pillando cosillas, pero la verdad es que estoy verde verde, y como tu bien dices, no voy a tenerte aqui siempre, eso es cierto.

Citar
Puedes hacerlo como te dé la gana, siempre que funcione, aunque al final voy a terminar haciéndolo todo yo  :lol: Yo lo que digo es hacer otra función que se llame tras procesar(), por ejemplo llamada almacenar()

Sólo quedaría por hacer la función almacenar(), claro. Pero si quieres meterlo todo en la misma función, tú mismo. A mí simplemente me parecen dos funciones diferentes, y así incluso podrías usar procesar() o almacenar() para otro ejercicio u proyecto.

Vale vale, ya lo pillo, pense que te referias a otra cosa.

Citar
Bueno, ya me dices, un saludo :hola: y mírate las instrucciones de MIPS bien  <_<

El documento que uso para mirar el repertorio de instrucciones es este:

http://rapidshare.com/files/235243032/R ... S.pdf.html

Creo que esta bien explicado, pero hay cosas que no me quedan claras, y por eso dudo, por ejemplo, ya me he dado cuenta que para cargar la direccion hay que usar la, pero para cargar el dato directamente en una direccion de memoria no se exactamente la funcion que tengo que usar, si sw, sb u otra, pongo esto:

Código: ASM
  1. almacenar:
  2.     la $s3, encode1  #almaceno la direccion de encode1 en s3, s3 es el puntero
  3.     la $s4, encode2  #almaceno la direccion de encode2 en s4, s4 es el puntero
  4.  
  5.     sw $t1,$s3   #meto el caracter en la primera direccion de s3
  6.     sw $s1,$s3   #meto el contador en la primera direccion de s4
  7.  
  8.     #avanzo el puntero
  9.  
  10.     addiu $s3,$zero,1
  11.     addiu $s3,$zero,1
  12.  

o esto:

Código: ASM
  1. almacenar:
  2.     la $s3, encode1  #almaceno la direccion de encode1 en s3, s3 es el puntero
  3.     la $s4, encode2  #almaceno la direccion de encode2 en s4, s4 es el puntero
  4.  
  5.     sb $t1,$s3   #meto el caracter en la primera direccion de s3
  6.     sb $s1,$s3   #meto el contador en la primera direccion de s4
  7.  
  8.     #avanzo el puntero
  9.  
  10.     addiu $s3,$zero,1
  11.     addiu $s3,$zero,1
  12.  

Y me casca, en el sb o sw, pero es que no encuentro otra instruccion de store que me pueda hacer eso.

Salu2

36
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Viernes 5 de Junio de 2009, 10:25 »
Dios!!! era eso!!!. Si te escucho tio :rolleyes:  pero eso se me pasó.

Ahora a ver si lo he entendido, tengo que hacer una funcion nueva para que me almacene el contador en encode2 y el caracter en encode1, me dices que la llamarias detras de procesar, pero no se si te refieres a llamarla inmediatamente detrás de procesar o de todo el proceso, osea procesar_noiguales, yo es que solo concibo llamarla despues de procesar_noiguales.

Entiendo que el contador esta almacenado en el registro t1, osea el contenido de t1 es el numero de repeticiones de un caracter. Y el caracter esta referido desde el puntero, osea que supongo que accediendo a 0($a0) tengo el caracter no es asi?

Ahora bien, seria tan facil como hacer:

Código: ASM
  1. add $t3,$zero,encode1 #almaceno el puntero encode1 en t3
  2. add $t4,$zero,encode2 #almaceno el puntero encode2 en t4
  3.  
  4. add $t4(0),$zero,$t1 #en la primera direccion almacendo el contador.
  5. add $t3(0),$zero,0($a0) #en la primera direccion almacendo el caracter.
  6.  
  7. #Avanzo los punteros a la siguiente posicion
  8.  
  9. addiu $t3,$zero,1
  10. addiu $t4,$zero,1
  11.  

Que te parece?

Salu2

37
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 19:32 »
Debe de ser problema mio, pero no entiendo porque, yo solamente copio el texto a un block de notas y le cambio la extensin de txt a asm.

Si lo ejecuto en PCSPIM, me da esa exception y me imprime infinitos "1" y tengo que cerrar el programa, y si lo ejecuto en MARS, me da esto:

Citar
Assemble: assembling C:Documents and SettingsRaistlinEscritorioencode.asm

Assemble: operation completed successfully.

Go: running encode.asm

Error in encode.asm line 76: Runtime exception at 0x00400078: address out of range 0x00000050

Go: execution terminated with errors.

He probado con 2 ordenadores diferentes, no puedo imaginar cual es el problema.

Salu2

PD: es profesor.

38
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 18:43 »
En el PCSPIM, me da el mismo error.

Me he bajado el MARS y la verdad es que tiene mejor pinta, pero en la salida me pone esto:

Citar
Assemble: assembling C:Documents and SettingsAdministradorEscritorioencode2.asm

Assemble: operation completed successfully.

Go: running encode2.asm

Error in encode2.asm line 70: Runtime exception at 0x0040006c: address out of range 0x00000050

Go: execution terminated with errors.

Creo que seguiré usando el PCSPIM, más que nada, porque el que me lo mandó usa PCSPIM, y lo va a probar en ese.

Salu2

39
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 18:26 »
Ehhhh, estoy aprendiendo verdad? xDDDDD

Lo acabo de ejecutar paso a paso, y me salta justo aqui:



Salu2

40
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 18:02 »
Me da este error:



Supongo que habrá que usar or en vez de ori, no? ya que ori es para un valor inmediato y estamos usando registros, no es asi?

Y si lo cambio, al ejecutar sale esto:



Salu2

41
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 13:00 »
Perdona? no hombre, te estoy muy agradecido, no me pidas perdón encima coño  :lol:

Ahora me tengo que ir luego le hecho un ojo y me pongo con la función esa a ver que sale.

Salu2

42
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 12:38 »
Ok, he cambiado esto:

Código: ASM
  1. procesar:
  2.      addiu $v0, $zero, $zero   # Inicializamos valores de retorno
  3.      addiu $v1, $zero, $a1
  4.      addiu $t1, $zero, $zero   # Contador de caracteres iguales consecutivos
  5.  

por esto:

Código: ASM
  1. procesar:
  2.      add $v0, $zero, $zero   # Inicializamos valores de retorno
  3.      add $v1, $zero, $a1
  4.      add $t1, $zero, $zero   # Contador de caracteres iguales consecutivos
  5.  

Ya que en los 3 me daba el mismo error.

Ahora ejecuto el programa con la cadena "aabb" y se vuelve loco.



Salu2

43
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 10:44 »
Cita de: "m0skit0"
JR sólo copia el registro indicado al registro PC. En este caso $ra. Cuando haces jal, la dirección de ejecución + 8 se guarda en el registro $ra, que sería la dirección de retorno. Es donde volvemos al hacer jr $ra.

Ok, entendido.

Citar
Yo no lo haría así. Haría otra función y la llamaría tras procesar(). Ya tienes el número de caracteres y el carácter, sólo habría que almacenar en la dirección de memoria correcta  ;)

Ok vere a ver si soy capaz de hacer eso.

Citar
El PcSpim no es un programa ejemplar que digamos  :lol: Quítale los espacios tras las comas.

Me he asegurado de quitar todos los espacios tras las comas, y nada, sigue dando exactamente el mismo error. Pero habia mucho mas espacios, porque el error justamente ahi?

Salu2

44
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 10:07 »
Bueno me he dispuesto a probarlo, y me salta el siguiente error al cargar el archivo:



Esto que significa?

Salu2

45
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Jueves 4 de Junio de 2009, 09:57 »
Creo que lo he entendido todo excepto esto:

Código: ASM
  1. jr $ra
  2.  

Esto se supone que devuelve el flujo de control a la funcion que lo llamo anteriormente, no? osea a sig_caract, no?

Y otra cosa a la hora de almacenar las salidas lo deberia hacer en procesar_noiguales, no?

Por cierto no te preocupes por los nombres, luego tengo que traducirlo todo al ingles xDDD.

Muchas gracias de nuevo tio.

Salu2

PD: no serás de las pedroñeras, no?

46
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Martes 2 de Junio de 2009, 19:45 »
La comparacion no seria con entrance seria con $s0, ya que es el puntero al siguiente caracter, cierto? osea esta linea:

Código: ASM
  1. beq $a0,$s0, counter
  2.  

Salu2

47
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Martes 2 de Junio de 2009, 18:58 »
Antes de nada una pregunta, en $a0 tengo el primer caracter, para compararlo con el siguiente solamente tendría que compararlo con Entrance, que se supone que ya esta apuntando ahi, cierto?

Esto ya lo he entendido:

Citar
al entrar en la función procesar, ¿qué estás haciendo? La llamada al sistema 4 imprime un cadena de caracteres, cuyo puntero es $a0. Pero en $a0... ¡¡tenemos un carácter (el código ASCII del carácter)!!. Y claro, en esa dirección de memoria no hay nada, por tanto no imprime nada :P Y luego imprimes msg2 que es un espacio.

Es como la etiqueta msg1, ya que msg1 es lo que almacenamos en $a0, y lo me me imprime es el mensaje, ya que msg1 apunta al mensaje, facil.

Pero lo de imprimir un solo caracter no sabria hacerlo, aunque en realidad no me vale para este ejercicio era solo para toquetear.

He continuado con el ejercicio a ver que tal:

Código: ASM
  1. procesar:
  2.  
  3. beq $a0,Entrance, counter #si es igual incremento el contador $a1 y vamos a sig_caract
  4. nop
  5. #meter el caracter en encode1 $si es diferente
  6. #meter el contador en encode2
  7. jal sig_caract
  8.  
  9. # Volvemos de la función
  10. jr $ra
  11. nop
  12.  
  13. counter:
  14. addi $a1,$a1,1
  15. jal sig_caract
  16.  

Que tal pinta tiene esto? aunque no se meter el caracter en la matriz y que me respente lo que haya, osea si me viene una a, meterlo y si despues viene una b, volverlo a meter, y que en encode 1 tenga "ab" o "a b" o algo asi. Muchas gracias.

Salu2

48
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Lunes 1 de Junio de 2009, 18:58 »
A ver como el código lo has comentado, no he tenido problema en entenderlo, además asi se entiende bastante facil.

He probado el codigo, pero en procesar de momento quiero que me imprima un blanco entre caracteres.

Por ejemplo la entrada es: "aabb"

y quiero que me imprima: "a a b b"

Más que nada para probarlo y entenderlo todo bien.

Este es el codigo que llevamos hasta ahora:

Código: ASM
  1. .data
  2. Entrance: .space 80
  3. encode1: .space 40
  4. encode2: .space 40
  5. decode: .space 80
  6. msg1: .asciiz "Please insert the String: "
  7. msg2: .asciiz " "
  8. msg3: .asciiz "n String encode like: "
  9. msg4: .asciiz "n String decode like: "
  10. .text
  11. .globl main
  12.  
  13. main:
  14.  
  15. in:
  16.  
  17. li $v0,4
  18. la $a0,msg1
  19. syscall
  20.  
  21. #Almacenar el String en la matriz
  22. # Número de syscall
  23. ori $v0,$zero,8
  24. # $a0 = buffer para guardar la cadena
  25. la $a0,Entrance
  26. # $a1 = tamaño a leer
  27. ori $a1,$zero,80
  28. syscall
  29.  
  30. #Imprimir la matriz
  31. # Número de syscall
  32. ori $v0,$zero,4
  33. # $a0 = buffer a imprimir
  34. la $a0,Entrance
  35. syscall
  36.  
  37. start:
  38. la $s0, Entrance  
  39. sig_carac:
  40. lw $t0, 0($s0)
  41. beq $t0, $zero, fin   # Si es el carácter de final de cadena, ya terminamos
  42. nop
  43. #la procesar,$v0
  44. #jal $v0               # Si no, llamamos a la función procesar()
  45. jal procesar
  46. add $a0,$zero,$t0     # Pasando el primer parámetro a la función procesar()
  47. beq $zero,$zero,sig_carac  # Siguiente carácter
  48. addiu $s0,$s0,1            # Apuntamos al siguiente carácter
  49. fin:
  50. nop
  51.  
  52. procesar:
  53.  
  54.  
  55. #Número de syscall
  56. ori $v0,$zero,4
  57. syscall
  58.  
  59. li $v0,4
  60. la $a0,msg2
  61. syscall
  62.  
  63. # Volvemos de la función
  64. jr $ra
  65. nop
  66.  

Pues bien lo que da a la salida es otra cosa:

aabb      (Esto lo hace bien porque se lo he puesto arriba)
aabb
 (null)

Porque puede ser? Muchas gracias de nuevo.

Salu2

49
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Lunes 1 de Junio de 2009, 16:55 »
Muchas gracias, la verdad es que no me ha costado entender tu codigo. Lo unico que tu usas un ori entre el registro $zero y el numero, supongo que $zero contiene todos ceros, no? asi al hacer un or logico inmediato con el numero, te lo guarda ya en el registro $v0, no es asi? yo usaba la sentencia li entre el registro y el numero, vamos que supongo que es lo mismo.

Ahora se supone que en Entrance, tengo el String, no es asi? pero para acceder al primer elemento del string, puedo acceder a el inmediatamente o tengo que hacer un desplazamiento asi, osea:

un dll, registro1, Entrance,2, o algo asi? Muchas gracias.

Salu2

50
ASM (Ensamblador) / Re: RLE en ensamblador MIPS
« en: Lunes 1 de Junio de 2009, 12:27 »
Si uso PCSPIM, a ver tengo esto:

Código: ASM
  1. # la $a0,msg1
  2. # syscall
  3.  
  4. # li $v0,8
  5. # syscall
  6.  
  7. # li $v0,4
  8. # syscall
  9.  

La primera lo que hace es que me imprime el msg1 en la consola.
La segunda me captura por teclado un String.
Y la tercer me imprime un String en la consola.

syscall es una llamada al sistema, que por lo que veo, lo que hace depende de la sentencia anterior.

Salu2

Páginas: 1 [2] 3 4 5