Autor
|
Tema: ¿como aprender ensamblador? (Leído 7,044 veces)
|
MarcosARG
Desconectado
Mensajes: 21
|
hola quisiera sabersi alguien me podria explicar como aprender ensamblador, porque hay distinto tipos, por lo que he leido y no hay mucha info o no se donde buscar, yo tengo un amd de 64 bits y no se si eso influye, no hay alguna guia para aprender los fundamentos en general, o no se aplican los fundamentos de otro lenguaje de alto nibel, y tambien si es mejor aprender ensamblador primero antes que C, porque estoy tomando un curso de fundamentos de programacion con PSeInt y luego de ese curso queria tomar o leer algun libro de C, pero me gustaria saver como funciona todo y por hay seria mejor aprender ensamblador pero hay mi pregunta tambien si los fundamentos (aclaro fundamentos de lenguajes de alto nibel)del curso que estoy tomando aplican en el lenguaje ensamblador y como es que se inicia en ese mundo y si me recomiendan algun libro de ensamblador gratis o pago graciasss!! si alguien me pudiese responder seria genial, y disculpen si me he expresado mal o dije algo incorrecto graciassss!!!
|
|
|
En línea
|
|
|
|
BloodSharp
Desconectado
Mensajes: 812
¡ Hiperfoco !
|
Buenas compatriota, con respecto al lenguaje de ensamblador yo no recomendaría para nada a alguien que quién no sabe primero al menos un lenguaje de alto nivel como C... Ensamblador se utiliza más que nada para ciertos casos específicos actualmente, como depurar y analizar programas u otros temas de ingeniería inversa, crear un programa o parte de lógica de software extremadamente reducidos en tamaño y firmware y/o drivers donde no haya alternativa para aplicar alguna operación específica que no pueda desarrollarse en lenguaje de alto nivel.
Mi recomendación para aprender a utilizar ensamblador de "computadoras génericas normales" (CISC IA32 / CISC AMD64) es aprendiendo ingeniería inversa analizando programas y depurando...
B#
|
|
|
En línea
|
|
|
|
Mr.Moonlight
|
Como bien dice el compa de arriba , es recomendable que empieces con un lenguaje de alto nivel , una vez hecho eso te resultará mucho más sencillo entender y aprender como dios manda un lenguaje asm , el lenguaje , pues tienes para elegir de sobra , son bastantes similares y una vez domines uno , entenderas sin lugar a dudas el 90% de la sintaxis de otros , ya que es bastante similar
|
|
|
En línea
|
|
|
|
Serapis
|
Pués yo disiento por completo, recomiendo justamente al revés . Si uno aprende algo aunque sea básico en ensamblador, luego a cualquier lenguaje de alto nivel, le sabrás sacar mucho más provecho, y te costará mucho menos de aprender... ...y jamás se me ocurriría recomendar a nadie aprender C, ni C++ (si C#), antes que eso recomendaría aprender un par de lenguajes alternativos, precisamente ensamblador y algún otro de alto nivel como Visual Basic, Phyton (y en menor medida Java). La curva de aprendizaje de C, es tan alta, que vale más aprender ensamblador (que a fin de cuentas es más potente y la curva de aprendizaje es considerablemente menor), y para hacer cosas rápidas y no enfangarse cada vez, un segundo lenguaje de alto nivel, cuya curva de aprendizaje tampoco resulte elevada. Ademas, si alguien sabe aunque solo sea lo básico en ensamblador, siempre le resultará mucho más asequible, aprender adecuadamente un lenguaje de alto nivel, que si es al revés. Libros hay a patadas para aprender ensamblador... Te dejo un par de imágenes de uno de mis estantes... Así que lo mejor para inciarse es empezar con 80x86, porque ahí reside gran parte de la base... luego es ya ir ampliando y actualizando, cuando tengas nociones más o menos sólidas aprender por ejemplo el ensamblador de otros procesadores (RISC por ejemplo), será mucho más llevadero...
|
|
« Última modificación: 11 Julio 2018, 15:07 pm por NEBIRE »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
No se como saber ensamblador per se te puede ayudar a comprender conceptos de POO (lo que no quita que se puedan aplicar) pero ensamblador no escala, cualquier programa que no sea trivial se torna demasiado complejo de escribir y mantener, es una de las principales razones por las cuales es infimo el porcentaje de software escrito con el (otra: no es portable en lo absoluto). Eso no quiere decir que no sea util manejarlo, la capacidad de depurar tu codigo a bajo nivel es invaluable y nunca esta de mas entender como funciona algo internamente (mi primer modulo de modo Kernel - lo que se suele denominar driver - lo escribi en ensamblador). Estoy con la recomendacion casi unanime de empezar por un lenguaje de alto nivel (nunca Visual Basic ni lenguajes interpretados como Python) como C y a la larga no hay nada como dominar C++ que es el lenguaje mas versatil donde podes aprovechar la tradicional programacion estructurada, la programacion orientada a objetos y la programacion generica de acuerdo al problema a resolver. Si bien ya no es como antes que practicamente cualquier sistema complejo estaba implementado en C/C++ si lo sigue siendo si hablamos de bajo nivel (herramientas del sistema, Kernels, drivers, etc.). El libro de Charte Ojeda esta bien y tiene un poco de Windows y Linux (las interrupciones de la BIOS o de MS-DOS no las vas a usar jamas en un software real aunque si podes hacer huevadas por hobby): https://foro.elhacker.net/asm/libro_de_ensamblador-t255032.0.htmlSi despues queres seguir con Windows: http://win32assembly.programminghorizon.com/tutorials.htmlDe nuevo es bueno aprender al detalle como funciona pero tarde o temprano si te dedicas a esto profesionalmente vas a pasarte a un lenguaje de alto nivel.
|
|
« Última modificación: 12 Julio 2018, 00:20 am por Eternal Idol »
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
srWhiteSkull
|
Pués yo disiento por completo, recomiendo justamente al revés . Si uno aprende algo aunque sea básico en ensamblador, luego a cualquier lenguaje de alto nivel, le sabrás sacar mucho más provecho, y te costará mucho menos de aprender... ...y jamás se me ocurriría recomendar a nadie aprender C, ni C++ (si C#), antes que eso recomendaría aprender un par de lenguajes alternativos, precisamente ensamblador y algún otro de alto nivel como Visual Basic, Phyton (y en menor medida Java). La curva de aprendizaje de C, es tan alta, que vale más aprender ensamblador (que a fin de cuentas es más potente y la curva de aprendizaje es considerablemente menor), y para hacer cosas rápidas y no enfangarse cada vez, un segundo lenguaje de alto nivel, cuya curva de aprendizaje tampoco resulte elevada. Ademas, si alguien sabe aunque solo sea lo básico en ensamblador, siempre le resultará mucho más asequible, aprender adecuadamente un lenguaje de alto nivel, que si es al revés. Libros hay a patadas para aprender ensamblador... Te dejo un par de imágenes de uno de mis estantes... Así que lo mejor para inciarse es empezar con 80x86, porque ahí reside gran parte de la base... luego es ya ir ampliando y actualizando, cuando tengas nociones más o menos sólidas aprender por ejemplo el ensamblador de otros procesadores (RISC por ejemplo), será mucho más llevadero... Totalmente de acuerdo. ASM ese gran marginado
|
|
|
En línea
|
|
|
|
MarcosARG
Desconectado
Mensajes: 21
|
Gracias a todos por sus opiniones, hoy dia estoy tomando un curso de algoritmos digamos que enseña todo lo de la programacion estructurada en pseudocodigo y esta bueno como para arrancar, luego de eso tenia pensado ir hacia C pero haora que veo todo esto no se si ir hacia ASM si alguien me dice q seria mejor, ya que de todas maneras tarde o temprano quiero aprender C y asm el problema es que no se con cual arrancar igual estoy con este curso todavía si quieren saber cual es este ( https://programacionats.zenler.com/courses/fundamentos-de-programaci-npero cuando lo termine no se que hacer, se cual sea lo que me recomienden, si me dejan un libro especifico seria bueno gracias igual!!!
|
|
« Última modificación: 18 Agosto 2018, 20:10 pm por MarcosARG »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Relee el hilo, la respuesta ya te la dimos.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Cuanto ensamblador es necesario aprender??
Ingeniería Inversa
|
GoRsiK
|
1
|
3,248
|
8 Febrero 2004, 20:56 pm
por byebye
|
|
|
¿Como manejar puerto paralelo con el ensamblador?
Programación General
|
josue_tux
|
1
|
6,655
|
3 Junio 2011, 14:40 pm
por skapunky
|
|
|
¿que libro, manual, tutorial o sitio me recomiendan para aprender ensamblador?
Programación General
|
jopc
|
0
|
3,618
|
9 Noviembre 2011, 05:00 am
por jopc
|
|
|
Como hacer un juego como gta 5 en ensamblador
Dudas Generales
|
daniel7885
|
3
|
3,464
|
4 Octubre 2016, 20:50 pm
por simorg
|
|
|
aprender ensamblador
Programación General
|
preguntas12
|
1
|
2,291
|
15 Mayo 2017, 21:25 pm
por engel lex
|
|