Anuncios Google

Tutorial Hello World en MIPS ASM

 

Antes de nada decir que doy por hecho que sabéis lo básico del ASM/como funciona un ordenador a bajo nivel.

En este tutorial os voy a enseñar cómo hacer un Hello World en el lenguaje de programación ASM, concretamente la arquitectura MIPS, que es la que usa la PSP.

Las CPU MIPS tienen 32 registros de 32bits, cada instrucción también ocupa 32bits.

Estos son los registros:

 

Los comentarios en MIPS ASM empiezan con “#”.

Para ejecutar el código necesitáis un emulador MIPS, por ejemplo el SPIM Simulator.

Aquí el código:

 

.data
    hola_mundo: .asciiz "Hello world"  #Defino una cadena ascii
    
.text
    main:  #Punto de entrada, aquí empieza el programa
        li $v0, 4  #Ponemos a 4 el registro $v0, ya que es el valor para ejecutar print_string
        la $a0, hola_mundo  #Ponemos la dirección de hola_mundo en el primer argumento de la función ($a0)
        syscall  #Ejecutamos un syscall (ejecutamos print_string)
        
        li $v0, 10  #Para salir
        syscall  #Salimos

 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de User170294

Esto debería ir en la sección

Esto debería ir en la sección de PC y no en la de PSP.

Imagen de Comandillos

Bueno

Si nos ponemos con estas, siendo un procesador MIPS, aunque sea muy generico, es como decir que los tutoriales de programación de PSVita van en PC porque se programa en C#...


Imagen de NEKERAFA

Mmm...

O que todos los programas y tutoriales de C de PSP vayan a PC porque son en C/C++ (Lua es otro mundo)

Imagen de User170294

Simplemente pensé que le

Simplemente pensé que le haría mayor uso la comunidad de PC que la de PSP.

Imagen de Dioni0396

y como luego lo ejecutas

en la psp?

Pues este código en concreto

Pues este código en concreto no se puede ya que tiene funciones específicas del simulador MIPS xD

Para poder ejecutarlo en la PSP se deben usar sycalls específicos de la PSP y hacer jumps a las funciones de la PSP, vamos es como C, debes usar las funciones de la PSP ya que están hechas especialmente para ello. Luego lo ensamblas y ya tienes el ejecutable. (para ensamblar se usa el comando -s en gcc).

Imagen de -DjB

me podrias dar unos ejemplo

me podrias dar unos ejemplo de algunos HB creado en 

MIPS ASM

para psp para yo asi aprender crear esto y otra cosa con cual programa se hace esto y donde se descarga el emulador...

 


Pues HB programados en ASM

Pues HB programados en ASM dudo que haya alguno xD

El ASM se usa principalmente en el "hacking", ya que es el lenguaje con el que tienes más control sobre la PSP.

Imagen de -DjB

vamo decir que con esto se

vamo decir que con esto se crean los cfw

Lo dudo, mayoritariamente se

Lo dudo, mayoritariamente se escriben en C.

Imagen de -DjB

yo quiesiera hacer pero nose

yo quiesiera hacer pero nose por donde empezar

me podrias pasar un ejemplo de algun cfw

para poder guiarme...

¿Quieres hacer un CFW?

¿Quieres hacer un CFW?

Imagen de -DjB

eso quiero... por eso estoy

eso quiero... por eso estoy pidiendo que me pasen uno viejo para yo guiarme de hay y crear el mio propio

Imagen de Andres_Ne

Lo que tratas de hacer es

Lo que tratas de hacer es algo muy grande  y complicado deberas por lo menos tener algunos años de experiencia y conocimiento en C


 

 

Imagen de -DjB

eso quiere decir que no puedo

eso quiere decir que no puedo hacer lo oh k.o
esta bien no lo hare...

Imagen de Andres_Ne

No te estoy diciendo que No

No te estoy diciendo que No lo hagas Hagas,ni que No puedas,Solo te digo que lo que quieres hacer es bastante complicado,Aun no sabes la complejidad de un CF.


 

 

Imagen de -DjB

k.o pues no lo hare...

k.o pues no lo hare...

Imagen de PerezRE

PerezRE

Si puedes, pero para hacerlo tendrás que aprender a programar C, el cual es un lenguaje muy complejo. Para aprenderlo no será fácil.


--[NO EXISTEN LOS LIMITES =D]--

Imagen de -DjB

ese no es el problema si es

ese no es el problema si es por eso lo hago con mi padre que programador y da clase de programacion en C avanzada, el verdadero problema es que nose por donde empezar asi como ir haciendo el recovery o el instalador o para que version va ese es el problema y tambien es que necesito un cfw viejo que este abierto para yo cojer lo modificarlo y actualizarlo.


No es cosa de hacerlo o no,

No es cosa de hacerlo o no, es que no puedes, no tienes los conocimientos necesiarios.

Para empezar, ¿tienes un nivel avanzado de C?

¿Acaso tienes un nivel

¿Acaso tienes un nivel avanzado de C, ASM, la arquitectura MIPS y sobre todo como funciona la PSP (o los PC) a low level (CPU, RAM, coprocesadores, etc)?

Imagen de zerozelta

Gracias por el tutorial

Gracias por el tutorial xerpi, intentare aprender ASM muy pronto

Saludos¡¡

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.