Registrarse

idea de curso básico ASM

Estado
Cerrado para nuevas respuestas.
Hola amigos, soy relativamente nuevo aquí, llevo viendo este foro hace mucho porque me gusta todo lo relacionado con la creación de juegos (se que esto es modificar juegos), pero aún así yo creo que la idea es la misma, usas la imaginación te expresas creas tu mundo....

Pues bueno vi que hay un tutorial de asm en la web así cortito, y que se mencionaba que el asm es útil para los que hacen romhacking, ya que algunas herramientas no te permiten profundizar lo suficiente, pues bien, estoy en segundo de ingeniería informática y he pensado en hacer un curso básico de asm porque a mi no me cuesta mucho y aportaría a la comunidad supongo.
ojo, no orientado a el romhacking, es asm normal y corriente, para conocer mejor la arquitectura del ordenador, pero evidentemente os digo que si controláis lo básico de asm podéis hacer grandes cosas con los hacks, ya que es un nivel muy básico el que se requiere,en cuanto a algoritmo...., yo me dedico a la creación de juegos desde cero.

El curso sería algo así como clases, ejercicios y al final una prueba para ver si realmente has adquirido los conocimientos que se esperaban.
Y será orientado a cualquier persona, es decir empezaré desde 0, explicando los sistemas de numeración, luego pasaremos a más cosas como imprimir por pantalla, bucles,decodificación etc... (es decir que hasta tu abuela lo va a entender).
Y os aseguro que después de este curso y de tener que pensar algoritmos, vais a coger mucha soltura.

Bueno pues, ¿Qué os parece la idea?
 

Juanjo

Hacker del pasado... Compilador del presente
Miembro insignia
Oye ¡Pareces caído del cielo!. Yo estudio Ing. Electrónica y estaba buscando en mi universidad cursos de ASM (Y que en eso se programan los microcontroladores) Y también para ver si de paso me hacía experto en ASM para el Rom Hacking.

Apoyo completamente (Me sirve en mi carrera y en el RH).

Att: Doctor Juanjo
 

Zernek

....
Es buena idea y espero que el curso llegue hasta el final, no como la mayoría de las escuelas o cursos que inician en el foro.

Espero inicies pronto el curso c:
 

Gold

Porrero a tiempo parcial
Miembro insignia
Bueno, lo puedes hacer, pero lo principal es si sabes lo suficiente de ASM para enseñarlo, pues si eres novato aun ni lo pienses, pues solo confundirias a quienes les enseñes, es como si yo abriera una escuela de scripts y apenas hace una semana que escripteo XD

Te digo esto porque imagina, si me surge una duda, obvio le pregunto al maestro, y que pasa si el maestro no sabe tampoco??? entiendes lo que digo???

Si sabes de ASM bastante pasa por alto esto y pide permiso al mod de la zona y Abrela.
 
Tranquilo/a Kurisutaru en mi carrera se ve asm hasta en la sopa jajaja, se que no soy de confianza porque acabo de llegar, pero, ya se verá, pero sí entiendo lo que dices.

Aquí una muestra de como sería la primera clase de sistemas de numeración,
luego respondería dudas o cualquier pregunta, mencionar también que trabajaremos con el lenguaje ensamblador MIPS, ya veréis porque, en realidad es porque está perfectamente preparado para aprender bien, y en asm cuando conoces un tipo de asm los basta con mirarte los otros y ya los controlas.
Esto se debe a que es de bajo nivel, y en bajo nivel a nivel de algoritmo todo
funciona igual, ya que todos los ordenadores tienen arquitecturas básicas muy parecidas.


1-Sistemas de numeración

DECIMAL

Primero nos fijaremos en el sistema decimal que usamos
siempre, es decir en base 10, esto es.
130
1*10^2 + 3*10^1 + 0*10^0 <==== OJO(siempre se empieza a elevar desde la derecha y empezando por 0).

100+30 = 130

Este es muy sencillo, es el que usamos siempre en matemáticas
o en cualquier actividad en la que intervengan números.


BINARIO

Este junto con el hexadecimal se usa mucho en informática.
Primero tenemos que aprender que es un bit, un bit es sencillamente la unidad más pequeña,
y puede tomar un valor
1=a , 0=b
es decir como ejemplo 1=si,0=no /1=blanco,0=negro
De algo tan insignificante se conforma practicamente toda la
arquitectura del ordenador.
---------------------
1 byte = 8 bits
4 bytes = 32 bits
---------------------
La segunda resulta evidente una vez enunciada la primera, pero creedme os hará falta, ya que en el
lenguaje ensamblador MIPS todas las sentencias estan compuestas por PALABRAS que se componen de 32 bits
es decir 4 bytes, pero no me enrollo, eso se verá más adelante con la práctica.
Me centro en el sistema de numeración binario:
Todo número binario se puede expresar con 1 y 0, esto significa
que es base 2, el decimal es con 10 (0,1,2,3,4,5,6,7,8,9)
Lo mejor es un ejemplo
decimal binario
2 10
Esto es así porque 10 = 1*2^1 + 0*2^0 = 2 (FIJAOS QUE AHORA ES EN BASE 2)
Otros ejemplos
3 ===> 11 ====>1*2^1 + 1*2^0 = 3
10 ==> 1010 ===> 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 10

Y para pasar un número de decimal a binario se divide entre 2 sucesivamente.
3|2
1 1 Y los coges del último al primero es decir al revés.
Con otro ejemplo se ve mejor.
10|2
0 5|2
1 2|2
0 1 <=== de aquí hacia arriba 1010


HEXADECIMAL

Bueno esto es casi lo mismo, pero en base 16, todos los números
en hexadecimal se pueden expresar con:
hex decimal
0 0
1 1
2 2
3 .
4 .
5
6
7
8
9 .
A 10
B 11
C 12
D 13
E 14
F 15

#Los puntos significa que son iguales cambia a partir
del 10 que es A....

#Para pasar de decimal a hex se divide entre 16
ej:
18|16
2 1 18(decimal) = 12 ( hexa)
#Para pasar un número en hexadecimal a decimal:
3C(hexa) = 3*16^1 + C*16^0 = 3*16+12 = 60


Esta es la parte más rollo, porque aún no se programa, pero es
esencial, os recomiendo practicar con la calculadora de windows
en modo programador y os ponéis cualquier número y lo pasáis a hex o bin o de bin/hex a decimal.
Saludos, y cualquier pregunta estaré encantado de resolverla.
 

Juanjo

Hacker del pasado... Compilador del presente
Miembro insignia
Tranquilo/a Kurisutaru en mi carrera se ve asm hasta en la sopa jajaja, se que no soy de confianza porque acabo de llegar, pero, ya se verá, pero sí entiendo lo que dices.

Aquí una muestra de como sería la primera clase de sistemas de numeración,
luego respondería dudas o cualquier pregunta, mencionar también que trabajaremos con el lenguaje ensamblador MIPS, ya veréis porque, en realidad es porque está perfectamente preparado para aprender bien, y en asm cuando conoces un tipo de asm los basta con mirarte los otros y ya los controlas.
Esto se debe a que es de bajo nivel, y en bajo nivel a nivel de algoritmo todo
funciona igual, ya que todos los ordenadores tienen arquitecturas básicas muy parecidas.


1-Sistemas de numeración

DECIMAL

Primero nos fijaremos en el sistema decimal que usamos
siempre, es decir en base 10, esto es.
130
1*10^2 + 3*10^1 + 0*10^0 <==== OJO(siempre se empieza a elevar desde la derecha y empezando por 0).

100+30 = 130

Este es muy sencillo, es el que usamos siempre en matemáticas
o en cualquier actividad en la que intervengan números.


BINARIO

Este junto con el hexadecimal se usa mucho en informática.
Primero tenemos que aprender que es un bit, un bit es sencillamente la unidad más pequeña,
y puede tomar un valor
1=a , 0=b
es decir como ejemplo 1=si,0=no /1=blanco,0=negro
De algo tan insignificante se conforma practicamente toda la
arquitectura del ordenador.
---------------------
1 byte = 8 bits
4 bytes = 32 bits
---------------------
La segunda resulta evidente una vez enunciada la primera, pero creedme os hará falta, ya que en el
lenguaje ensamblador MIPS todas las sentencias estan compuestas por PALABRAS que se componen de 32 bits
es decir 4 bytes, pero no me enrollo, eso se verá más adelante con la práctica.
Me centro en el sistema de numeración binario:
Todo número binario se puede expresar con 1 y 0, esto significa
que es base 2, el decimal es con 10 (0,1,2,3,4,5,6,7,8,9)
Lo mejor es un ejemplo
decimal binario
2 10
Esto es así porque 10 = 1*2^1 + 0*2^0 = 2 (FIJAOS QUE AHORA ES EN BASE 2)
Otros ejemplos
3 ===> 11 ====>1*2^1 + 1*2^0 = 3
10 ==> 1010 ===> 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 10

Y para pasar un número de decimal a binario se divide entre 2 sucesivamente.
3|2
1 1 Y los coges del último al primero es decir al revés.
Con otro ejemplo se ve mejor.
10|2
0 5|2
1 2|2
0 1 <=== de aquí hacia arriba 1010


HEXADECIMAL

Bueno esto es casi lo mismo, pero en base 16, todos los números
en hexadecimal se pueden expresar con:
hex decimal
0 0
1 1
2 2
3 .
4 .
5
6
7
8
9 .
A 10
B 11
C 12
D 13
E 14
F 15

#Los puntos significa que son iguales cambia a partir
del 10 que es A....

#Para pasar de decimal a hex se divide entre 16
ej:
18|16
2 1 18(decimal) = 12 ( hexa)
#Para pasar un número en hexadecimal a decimal:
3C(hexa) = 3*16^1 + C*16^0 = 3*16+12 = 60


Esta es la parte más rollo, porque aún no se programa, pero es
esencial, os recomiendo practicar con la calculadora de windows
en modo programador y os ponéis cualquier número y lo pasáis a hex o bin o de bin/hex a decimal.
Saludos, y cualquier pregunta estaré encantado de resolverla.
Siempre es interesante repasar esto. Pero ¡animate a innovar!. Has que sea divertido ¡Usa colores, analogías, etc! Aprender de manera divertida siempre es bueno y ese es el foro indicado :D

Aquí tengo ejemplos EXTREMOS!!! (No tienes que llegar a tal punto de locura)

http://whackahack.com/foro/t-21427/juanjo-lo-explica-energia

http://whackahack.com/foro/t-21488/juanjo-lo-explica-4-fuerzas-universales
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Me encanta la idea, es justo lo que andaba buscando, es más, creo que vendría bien para la comunidad, ya que si hay algo que a la comunidad hispana de rom hacking le falta, es ASM, a diferencia de las comunidades inglesas, donde hay más tutoriales.
 

Foxz.

Foxz.
Seria genial que hicieras algo así, te recomiendo que mires algunas herramientas de RH y las opciones que podrían servir y algunas que vienen incluidas en el VBA, para que lo hagas, pero referido al RH en sí.
 

Kaktus

Miembro insignia
Miembro insignia
¡Me ha encantado la idea, quiero empezar YA! *-* La verdad me ha parecido genial que llegara aquí una persona con tales conocimientos, a que la poca que sabe se limita a usarlo sin enseñar a nadie. Estoy deseando ya ver la escuela abierta *-*
 

Sayer301!

UnityLord!
Miembro de honor
Kurisutaru♪;224612 dijo:
Si sabes de ASM bastante pasa por alto esto y pide permiso al mod de la zona y Abrela.
¿Y como voy a saber si tiene el suficiente conocimiento o no, si yo no tengo ni puta idea?

En fin, personalmente la idea me encanta, aunque sinceramente, me gustaría que fuese mas orientado al RH pues si de algo trata esta comunidad es precisamente de eso, pero tampoco te voy a poner pegas, porque hasta yo estoy ansioso por aprender ASM la verdad.

Apoyo la idea, aunque de todas formas tendremos que hablar alguna cosa si finalmente te decides a abrirla.

Sin nada mas que añadir, espero que todo salga bien y hagas que por fin haya mas ASM en los hacks españoles. Un saludo!
 

RedMort

Aprendiendo Decomp
Yo tambien estudio ingenieria informatica, 1º año, y quiero decirte que te agradeceria muchisimo el curso basico, tanto para el rom hacking, como para mis estudios. (ya que no me entero de nada) ^^
 
Decidido, lo haré, pero primero lo haré no orientado al rom hacking, pero a ver, os va a ayudar muchísimo igualmente, y cuando termine ese curso básico o mientras lo hago, miraré algunas herramientas y me informaré de del asm para rom hack, pero para hacer un buen curso de eso tendría que mirarmelo bien.
En conclusión lo haré no orientado al rom hack de momento, ya más adelante si me veo capacitado abriré una escuela de asm orientado al rh.
 

H.B.P

Emperador Kaktiácero
Miembro de honor
Si vas a hacer un tutorial, te lo agradecería profundamente; pero eso sí, hazlo entendible: si tienes que hacer un vídeo de demostración, por favor hazlo; si tienes que poner gráficas, por favor hazlo; si tienes que indicar con flechitas cada tontería, por favor hazlo, y si tienes que hacer explicaciones para tontos, por favor hazlo.

Y no lo digo por ser un lumbreras, si yo soy el más tonto a la hora de aprender cualquier cosa nueva, lo digo porque hay muchos tutos orientados para los que entienden chino ASM y, a mi parecer, son completamente inútiles para personas como yo.

Quiero agradecerte este cursillo de ASM, de llegar a ser un buen curso para completos novatos, yo sería tu primer alumno.
 

H.B.P

Emperador Kaktiácero
Miembro de honor
Pues sintiéndolo mucho, tendré que cerrarla, lleva más de un mes sin aparecer por el foro.

Tema clausurado~~
 
Estado
Cerrado para nuevas respuestas.
Arriba