Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ensamblador!

Estas en el tema de Ensamblador! en el foro de Programación General en Foros del Web. Alguien realmente ha aprendido a realizar programas en ensamblador con cursos de internet??? Yo de plano no les entiendo nada de nada... y no es ...
  #1 (permalink)  
Antiguo 24/06/2005, 16:07
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Ensamblador!

Alguien realmente ha aprendido a realizar programas en ensamblador con cursos de internet???

Yo de plano no les entiendo nada de nada... y no es que sean dificiles, sino que explican las chorrocientas mil instrucciones que hay de ensamblador sin antes enseñar como crear un programa... y el programa lo crean al final (si bien nos va), por que sino, de plano solo te enseñan las instrucciones pero no enseñan como realizar un programa...

Por que los cursos de ensamblador no pueden ser como los de C???.... Claro obviamente es dififerente y tiene que haber una gran parte de teoria sobre la PC, pero eso de explicar todo! incluso todas las instrucciones antes de realizar un programa se me hace excesivo.

En los cursos de C te enseñan a hacer un programa desde el principio y poco a poco van las instrucciones... y en los de ensamblador te enseñan toda la teoria (desde "¿Que es una PC?" hasta todas las instrucciones de ensamblador) y luego esperan a que recuerdes todo cuando te enseñan a crear el programa...

Es como si en los cursos de C te enseñaran lo que es una variable, funcion, archivos cabecera, tipos de datos, estructuras, punteros, arrays, en C++: que son clases, archivos, templates, castings, etc... y despues de 200 hojas de teoria te digan: "Para crear tu programa creas la funcion main!!!!!!" o sea!, como esperan que uno recuerde todo el royote que te dijeron!!!!?????

He leido cursos por lo menos unas 4 o 5 veces y ya me se toda la teoria de las PCs como salieron etc... pero en la parte de las instrucciones y registros (sobre todo los de segmento e indices) me quedo... y es que como no puedo aun escribir ningun programa y solo lo leo, pues no aprendo...

Por ahi hay uno de un tal "moises" que fue el primero que lei y te enseña a crear un pequeño programa al principio y despues son como 50 hojas de puras instrucciones y casi nada de ejemplos!!!!

Despues de sacar toda mi rabia contra ensamblador :P (Bueno, contra los cursos)... alguien me puede recomendar uno bueno??? :D

Gracias.
  #2 (permalink)  
Antiguo 24/06/2005, 16:22
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Los tutoriales de Iczelion (32 bits, Windows) son bastante buenos para empezar:http://win32asm.cjb.net/

Si podes conseguir un libro llamado Ensamblador par DOS, Linux y Windows de Francisco Charte Ojeda te va servir muchisimo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 24/06/2005, 16:29
 
Fecha de Ingreso: octubre-2004
Ubicación: COLOMBIA
Mensajes: 240
Antigüedad: 19 años, 6 meses
Puntos: 3
Ey lo mismo pienso yo
  #4 (permalink)  
Antiguo 24/06/2005, 17:07
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
No habrá algún problema de que sea de 32 bits y yo no sepa el de 16 bits??? :p
  #5 (permalink)  
Antiguo 24/06/2005, 17:17
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Mira, lo que sucede con estos libros es que es realmente necesario saber sobre el hardware de la maquina para poder programar algo en ensamblador, de hecho tengo un libro que se ajusta a las descripciones del tuyo, (empieza con la historia completa de las pcs, luego un monton sobre hardware y luego a vrear programas no ejecutables para poner ejemplos y luego ya ahora si, tu primer hola,mundo.
Ensamblador no es un lenguaje tan dificil, lo dificil es lo del hardware de una pc, ya que luego difieren.
De todas maneras, si quieres aprender asm, pues un libro no te lo recomiendo yo, porque los 2-3 que tengo son iguales en el aspecto estructurl del libro, peo hay bueno tutoriales que comienzan con el hola,mundo.

saludos
  #6 (permalink)  
Antiguo 24/06/2005, 17:49
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Instru... claro, lo entiendo... Bueno... yo no tengo ningun libro de ensamblador, yo hablaba de los tutoriales que hay en internet...

Tu crees que entonces si estan bien estructurados los cursos?? En caso de que sí... me podrias dar algunos tips para aprender mejor y poquitin mas rapido??...

Gracias desde ya! :D
  #7 (permalink)  
Antiguo 24/06/2005, 18:51
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
mmm, pues si, lo primero es conocer el hardware de un pc.Pero claro, no es necesario toooodo.

Corrijanme si me equivoco...
El cpu tiene un mapa de memoria, ese mpaa te va a venir en muchos tutoriales y casi todos los libros.
Este mapa te dice donde esta la rom, la ram, la vrma, los registros de E/S, todo, para comunicarse el procesador con todo lo demas(tarjeta grafica, sonido, modem, todo...)

Este mapa no es como el mapa de una ciudad donde hay que seguir caminitos no.

El mapa es de puras direcciones de memoria.

En los procesadores de hoy el mapa va de 0 a 0xFFFFFFFFF(o algo asi, el chisye es que termina en muchas Fs)
Y por poner un ejemplo, de 0 a 0x1000 es la parte de la ram(esto es obio que no, pero es un ejemplo).
Este mapa si te lo debes aprender porque pues de ahi se uno se guia al hacer direccionamientos y movimiento de datos.

Ahora, tambien aprendete las instrucciones basicas del ensamblador(mov, push, call, pop, lea, ret, etc etc etc). Son muchisisisimas, pero no es necesario que te aprendas todas de golpe, solo las mas necesarias y las mas basicas.

Tambien aprende lgo sobre segmentacion. En realidad no tienes que aprenderte gran cosa de esto, es solo para ponerle un "orden" a todo, una vez que lo pongas en practica hasta se te va a olvidar que es.

Lo mas dificil seria usar funciones del dos(para 16 bits) o las funciones de windows(para 32 bits), ya que de estas no hay mucha info que digamos.
Y pues son necesarias para poder ver la salida de un programa y cosas asi.


No se, pero si te recomendaria un libro, en ensamblador es altamente recomendable tener un libro donde basarte a la hora de programar.

Saludos
  #8 (permalink)  
Antiguo 24/06/2005, 21:48
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Pues te he hecho caso y me di una vuelta de nuevo por el curso de ese tal "Moises", y parece que ha mejorado un poco; ya le entendi mas... aunque sé que aun me falta mucho por aprender...

Y referente al libro... en que parte de mexico vives?, es que segun un amigo, no logró conseguir ningun libro de ensamblador en ninguna libreria (ni en la casa del libro...) y tiene uno que le vendio un tio...

Entonces no sé en donde encontrar uno... tu no sabes donde? y cual me recomiendas?
  #9 (permalink)  
Antiguo 25/06/2005, 01:53
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Llamar a las funciones tanto de Windows como de MS-DOS es facilisimo y estan en su amplia mayoria documentadas y mucha de las cosas que decis se aplican solo a la programacion en 16 bits.

Con el libro que mencione en el primer capitulo ya tenes hecho un Hola Mundo en tres Sistemas Operativos para x86 (MS-DOS, Linux y Windows).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 25/06/2005 a las 01:59
  #10 (permalink)  
Antiguo 25/06/2005, 11:16
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Mi libro se llama "Lengaje ensamblador y programacion para pc-ibm y compatibles" de Peter Abel editorial Pearson Education.(Lo compre en la casa del libro). Tambien hay otro que habla mas sobre la arquitectura de los cpus que del ensamblador en si, es un libro muy muy completo aunque si esta algo dificil, denso y tedioso, pero vale l pena toda la informacion que trae, el libro es : "Los Microprocesadores Intel. Arquitectura, programacion e interfaz de los procesadores 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium pro y pentium 2" de Barry H. Brey. De Prentice Hall(Pearson Education) que igualmente compre en la casa del libro y en la de Jardinez de San Mateo todavia hay, lo sigo viedno al igual que el otro.

Saludos
  #11 (permalink)  
Antiguo 25/06/2005, 14:46
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 10 meses
Puntos: 2
http://webster.cs.ucr.edu/AoA/DOS/index.html

pero esta en ingles. Le pasa revista a conceptos basicos (algebra Booleana, etc), y luego pasa a la parte interesante (Assembly).

Creo que si aprendes primero con DOS y 16-bits, te va a ser mas facil. Luego te puedes mover a WIN/32bit o LIN/32bit.

Buena suerte...
  #12 (permalink)  
Antiguo 25/06/2005, 16:20
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Instru, deberías aprender C y dejarte de ASM hasta que entiendas de que va eso de las muchas Fs ;)

Sobre lo de ASM, no es un "lenguaje" difícil (son simples instrucciones de dos parámetros en su mayoría), lo difícil es ponerlo en práctica en asuntos en los que es necesario, dado que todos lo demás se hace en C/C++ y demás, y para lo cual hace falta muuuucho trabajo y experiencia en ASM. Digamos que para poder "trabajar" de ello tienes que haber aprendido muchas cosas durante mucho tiempo, mientras que con otros lenguajes no (el más claro VB).
  #13 (permalink)  
Antiguo 26/06/2005, 09:16
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Cita:
Instru, deberías aprender C y dejarte de ASM hasta que entiendas de que va eso de las muchas Fs ;)
Mira, te repito que ya ya se C, tambien ya he programado antes en assembler de otros cpus, y si puse lo da las Fs es porque no recuerdo el tamaño del mapa de memoria de los cpus de las pcs standar. y a lo que me refiero tambien a muchas Fs es al numero hexadecimal que representan que es 2 a la x menos 1....Asi que por favor cuidado con esos prejucios

Saludos
  #14 (permalink)  
Antiguo 26/06/2005, 09:37
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Instru
Mira, te repito que ya ya se C, tambien ya he programado antes en assembler de otros cpus, y si puse lo da las Fs es porque no recuerdo el tamaño del mapa de memoria de los cpus de las pcs standar. y a lo que me refiero tambien a muchas Fs es al numero hexadecimal que representan que es 2 a la x menos 1....Asi que por favor cuidado con esos prejucios

Saludos
No iba con mala intención, pero bueno :) Hace una semana no sabías C... Y dudo que sepas ASM con gran nivel...

No te lo tomes a mal, yo no sé si sé C, C++ no por supuesto, pero no quiero que te conviertas en alguien que por saber la sintaxis diga que sabe "C", ejemplo clásico Developer9... Te recuerdo que hace poco preguntabas sobre punteros, listas y demás. Y es ahí donde C muestra su potencial, así que...
  #15 (permalink)  
Antiguo 26/06/2005, 10:54
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
F es 15 ... y seran 8 para un modelo de memoria plana de 32 bits ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #16 (permalink)  
Antiguo 26/06/2005, 12:24
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Cita:
F es 15 ... y seran 8 para un modelo de memoria plana de 32 bits ...
Asi es.
Solo queria saber cuantas Fs eran.

Saludos
  #17 (permalink)  
Antiguo 26/06/2005, 12:30
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Este... bueno sí, como sea, gracias a los que contestaron... y a los que no... tambien gracias :D... Y ya no se peleen
  #18 (permalink)  
Antiguo 26/06/2005, 12:48
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por scrolling
Este... bueno sí, como sea, gracias a los que contestaron... y a los que no... tambien gracias :D... Y ya no se peleen

De nada y a seguir bien.
  #19 (permalink)  
Antiguo 26/06/2005, 13:10
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
8, 2 por cada byte al ser FF 255, ¿Te parece que pueden ser 9?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #20 (permalink)  
Antiguo 26/06/2005, 13:39
 
Fecha de Ingreso: junio-2005
Mensajes: 2
Antigüedad: 18 años, 10 meses
Puntos: 0
Alguien Me Puede Ayudar Me Pidieron Un Programa En Ensamblador Que Muestre En Pantalla La Fecha Y Hora Del Bios Pero No Tengo Idea Como Hacerlo Me Pueden Decir Que Instrucciones Usar
  #21 (permalink)  
Antiguo 26/06/2005, 13:48
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Seguro que alguno de nosotros podemos pero aca no es lugar de poner esta pregunta.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #22 (permalink)  
Antiguo 26/06/2005, 17:04
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Hey, hey, hey, es cierto... manuel pon tu propio post... este es mio... y deporsi como 4 mensajes nisiquiera responden nada... ahora con el tuyo, menos... :D Gracias. Y todos calmados.
  #23 (permalink)  
Antiguo 27/06/2005, 00:36
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Si no esta ubicado donde se debe es mejor no hacerlo, incluso algunos responden cualquier cosa cuando esta bien ubicado

Aunque otros tambien respondemos a la pregunta original
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #24 (permalink)  
Antiguo 27/06/2005, 13:18
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Como puede ver scrolling, el usuario reconoce no tener ni idea...
  #25 (permalink)  
Antiguo 27/06/2005, 13:32
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Pues yo solo digo que no usen post para pelearse (como lo hago yo y MaxExtreme :?

Última edición por scrolling; 27/06/2005 a las 14:17
  #26 (permalink)  
Antiguo 27/06/2005, 17:37
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por scrolling
Pues yo solo digo que no usen post para pelearse (como lo hago yo y MaxExtreme :?
Nah, si no eres el primero, esto pasa a menudo cuando se viene con el ego alto. Tendrías que ver a un par al que les ayudé hasta por MSN y al siguiente día sin explicación postearon un topic bastante largo con un promedio alto de insultos y amenazas. Fíjate, uno de ellos era superdotado y se creía mejor que los demás por simplemente serlo. Esa noche el ego llamó a su ira, indudablemente.
  #27 (permalink)  
Antiguo 27/06/2005, 17:45
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Me parece bien que te des cuenta que tienes el ego grande... talvez yo tambien lo tengo y defendemos lo que creemos. Pero enserio... yo algun dia fui muy muy novato en la programacion hasta de html, (se que dices que aun lo soy, y talvez si, no lo se todo y aun sigo aprendiendo)... pero era muy artante llegar a un foro, preguntar algo y que te contestaran: :"buscalo en google" o como tu: "aprende C, C++ y asm", talvez 2 o tres enlaces, alguna explicacion hubiera estado bien...

Por eso di tanta explicacion, por que queria ayudarle mas de lo que a mi me ayudaron los foros...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:20.