elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  ¿como aprender ensamblador?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿como aprender ensamblador?  (Leído 6,659 veces)
MarcosARG

Desconectado Desconectado

Mensajes: 21


Ver Perfil
¿como aprender ensamblador?
« en: 11 Julio 2018, 03:57 am »

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 Desconectado

Mensajes: 804


El Messi-Vegeta :D


Ver Perfil
Re: ¿como aprender ensamblador?
« Respuesta #1 en: 11 Julio 2018, 08:57 am »

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

Desconectado Desconectado

Mensajes: 26



Ver Perfil WWW
Re: ¿como aprender ensamblador?
« Respuesta #2 en: 11 Julio 2018, 12:49 pm »

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

Ayudame en posicionamiento SEO en mi practica de la universidad : https://www.atorrijaoguachisnai.com/
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: ¿como aprender ensamblador?
« Respuesta #3 en: 11 Julio 2018, 15:00 pm »

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 Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: ¿como aprender ensamblador?
« Respuesta #4 en: 12 Julio 2018, 00:12 am »

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.html

Si despues queres seguir con Windows:
http://win32assembly.programminghorizon.com/tutorials.html

De 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


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: ¿como aprender ensamblador?
« Respuesta #5 en: 18 Julio 2018, 16:59 pm »

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  :xD
En línea

MarcosARG

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: ¿como aprender ensamblador?
« Respuesta #6 en: 18 Agosto 2018, 20:03 pm »

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-n

pero 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 Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: ¿como aprender ensamblador?
« Respuesta #7 en: 18 Agosto 2018, 22:36 pm »

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cuanto ensamblador es necesario aprender??
Ingeniería Inversa
GoRsiK 1 3,092 Último mensaje 8 Febrero 2004, 20:56 pm
por byebye
¿Como manejar puerto paralelo con el ensamblador?
Programación General
josue_tux 1 6,458 Último mensaje 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,401 Último mensaje 9 Noviembre 2011, 05:00 am
por jopc
Como hacer un juego como gta 5 en ensamblador
Dudas Generales
daniel7885 3 3,021 Último mensaje 4 Octubre 2016, 20:50 pm
por simorg
aprender ensamblador
Programación General
preguntas12 1 2,109 Último mensaje 15 Mayo 2017, 21:25 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines