[RH - ASM] Escuela ASM básico [inscripciones]


Like Tree9Gracias
 
 
Herramientas Desplegado
  #1  
21/01/2014
Predeterminado Escuela ASM básico [inscripciones]
ESCUELA DE ASM BÁSICO
El objetivo de la escuela es que sus alumnos aprendan lo básico de ensamblador
(no orientado a RH), pero que les ayudará mucho a entender cualquier código ensamblador.



Contenidos / temario que se va a enseñar.

TEÓRICOS

1-Sistemas de numeración

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
entonces 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.
2-Aspectos esenciales
Todo el rollazo de antes de los sistemas de numeración se aplica a la práctica, y a eso vamos.

Dos cosas que tenemos que grabarnos en la cabezota y que son esenciales
1 BYTE = 8 BITS
4 BYTES = 32 BITS


Vamos a ver esto bien.
Recordamos que es un bit, es o un 1 o un 0, básicamente.
Pues bien si tenemos el siguiente byte
0000 0011
Es un byte porque contiene 8 bits, si señor, puedes contarlos.
Bien pues eso es en BINARIO, nosotros cuando estemos programando lo queremos en HEXADECIMAL, que es una forma de simplificar el código.
A cada 4 bits en binario se le asigna un valor en hexadecimal esto es porque
hexadecimal es en base 16 y 2^4 = 16.

¿Pero que co....???, tranquilo realmente no hace falta saberlo, en la práctica no nos vamos a poner a pensar en eso, tu simplemente sabes que 4 en binario son 1 en hexa.

Bien una vez sabemos eso volvamos a nuestro problema
0000 0011
0000 ===> 0 (porque 0000 en binario es 0 en hexadecimal =P)
0011 ===> 3 [porque 11 (binario) = 3(decimal) los otros dos 0 nos importan un pito]
entonces nos quedaría así en hexadecimal
03 <==Ahora ya deberíamos saber lo que es 1 BYTE

Bien pues vamos a otro caso:
10FF
ey ey!!! esto no es un BYTE, buen chico, te has dado cuenta, ahora (por pura lógica) vemos que se trata de 2 bytes = 16 bits.
Lo pasamos a binario (al contrario que en el anterior ejemplo)
teniendo en cuenta que F(hex) = 15(dec) = 1111(bin)
0001 0000 1111 1111

EJERCICIOS

-Pasar de hexadecimal a binario
1) FFFF
2) ABCF
3) 17FF00AF =====> Fijate que es una PALABRA lo máximo que puede llevar una instrucción, es decir 4 bytes = 32 bits
4) AAAAFFFF

-Pasar de binario a hexadecimal
1) 1111 0111 0011 0001
2) 1010 1100 1111 1001
3) 0001 0001 0010 1100 1010 1110 1011 0100




Contándolos vemos que son 16 bits.

Y de momento eso que es demasiada información y nos puede estallar la cocorota.



2-Decodificación de instrucciones


PRÁCTICOS

1-Conociendo el QTspim
2-Definición de datos
3-Carga y almacenamiento de datos
4-Interactuar, interfaz de usuario
5-Estructuras de control(bucles y if)


Plazas vacantes para la inscripción de alumnos.

Se puede inscribir quien quiera, siempre y cuando se lo vaya a tomar en serio.

Fecha en la que acaban las inscripciones o número de alumnos inscritos necesarios para cerrar dicho periodo.
Una semana creo que es adecuado, el foro es activo así que no creo que un
usuario que quiera entrar no se conecte en una semana.
el 28/01/2014


Especificar que se obtuvo permiso de un moderador para abrir la escuela.
Lord Kaktus
Gracias: Juanjo y Braxpok
  #2  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Primero en Inscribirme!!


Todo pinta a que sera de las escuelas mas populares
Gracias: NaDran
  #3  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Segundo en inscribirmeee

¡Cuenta con migo!
Gracias: NaDran

  #4  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Me apunto Justo ahora acabo los exámenes de la universidad, así que me pilla perfecto para comenzar. Además la semana que viene comienzo mi proyecto, con lo cual me va a ayudar bastante para unas cosillas que necesito de ASM.
  #5  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Me apunto yo tambien!!

Ganicas habia ya de algo así. Un saludo campeón!
Si no sigues al Pokémon Verde Hierba, entonces eres un mierda!!



Gracias a todos!
  #6  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Yo tambien, espero que empiece lo antes posible.



love the life you live
live the life you love


  #7  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Doctor Juanjo entra. Siempre he querido saber ASM (Tanto en el hacking como en general debido a mi carrera (Quiero hacer robots y se programan en ASM (por lo menos lo básico (Y si me estoy llenando de paréntesis)))) y se me facilita la programación.

¡Así que estoy dentro!

"¿Sueñan los Mareeps con androides?"







  #8  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
Estar?a bueno que agregues un cap?tulo especialmente orientado al RH.

En fin, me apunto.

No estar? inactivo, lo prometo.


Opacando a SAGE~ desde el 4 de julio de 2012



  #9  
21/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
A mi tambien me gustaria entrar. Te agradezco mucho esto que haces por nosotros ^^


Pokémon Crush - COMPLETO


Pokémon Crush - COMPLETADO




Progreso


Beta 1 - 11/05/2014
Beta 2 - 11/12/2014
50% del juego - 07/05/2015
100% de historia - 26/05/2015
100% de mapas - 03/06/2015
100% de relleno - 11/06/2015
100% del juego - 16/12/2015
Solución de bugs y errores - 19/12/2015
Juego completo - 20/12/2015




  #10  
22/01/2014
Predeterminado Respuesta: ASM básico [inscripciones]
De verdad me encantaria entrar, me inscribo
 

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 22:15.