Ps como aprendieron assembler? Estudiaron informatica o se fumaron un tuto :huh: . Yo estudio Ing. Sistemas y nos dan Pascal-> Lenguaje C -> Java pero nada de assembler y ps yo estoy interesado :/
Estudiar asm es igual que estudiar otro lenguaje..bueno, igual no xD
Yo lo veo como imposible...pero existen muchos tutos por ahi...
No pretenderas aprender asm,c u otro sin leer nada no? :P
En la uni ya llevamos tres trimestres estudiando C, y creo haber aprendido lo suficiente para entender los codes que por el foro postean. Pero veo que en algunos posts dejan codes con asm y yo ps ni p*ta idea, conoces algun tuto weno?
Depende para que micro, lo normal es que encuentres lo que buscas en www.Intel.com o www.amd.com
Ps he estado investigando y me doy cuenta de que la mayoria de los tutos(todos mochos o explicados a la carrera ¬¬) dicen que el asm mas famoso o mas utilizado es el orientado a x86(q npi que es eso :/). En la sección de papers no encontre nada...
en intel a vuelo de pajaro no encontre nada :/ me lie con el ingles, intente buscar algo como "assembler reference" pero nada :/. En amd ni quice mirar, primero quiero aprender con el supuesto x86 de intel y luego le meto a todo ;D
Pues yo he prendido ASM programando microchips PIC...
Saludos!!
Y se diferencia mucho el code dependiendo del procesador? alguien me explica como esta eso del x86 :_( ando de ocio y no quiero perder mi tiempo en webadas, prefiero aprender asm xD
pues hay muchos manuales de asm y la mayoria para intel 80x86....(investiga un poco de historia computacional..) y sabras que es x86.....ha y por cierto utiliza bien el oraculo...
google=manuales de asm y buala muchos manuales.....algunos del 1990 otros 1998 otros de 2000-...pero en fin......asm es la ley....pero esta pesadon....pero no imposible de aprender.....
Cita de: BenRu en 27 Febrero 2006, 00:33 AM
Estudiar asm es igual que estudiar otro lenguaje..bueno, igual no xD
Yo lo veo como imposible...pero existen muchos tutos por ahi...
No pretenderas aprender asm,c u otro sin leer nada no? :P
No. Asm no se parece ni a C y C++ juntos.
[Así me lo dijo un super-programador:]
Asm es la representación del lenguaje de máquina (0101010) de forma que el humano lo entienda (y aún así es muy difícil de entender).
Manuales solo te recomendaría en inglés, no he visto uno que valga la pena en español (no porque yo sepa Asm y haya visto que está mal redactado). Los de inglés están 100% entendibles
(si sabes algo de inglés y tienes el babylon) y completos. ;)
Cita de: jose2c en 28 Febrero 2006, 01:43 AM
Y se diferencia mucho el code dependiendo del procesador? alguien me explica como esta eso del x86 :_( ando de ocio y no quiero perder mi tiempo en webadas, prefiero aprender asm xD
No. El Assembler es el programa que traduce a código máquina o para lo que se necesite.
[Esto también me lo dijo ese super-programador:]
Por ejemplo. Para programar para GameBoy usas el assembler
z80 que es el que traduce el código para que sea entendible por el microprocesador del GameBoy.
Los assemblers son tipo un compilador pero para Asm. Obviamente no se llama compilador porque Asm es casi lenguaje de máquina y solo se "ensambla".
eso kiere decir que un code en lenguaje asm puede correr en cualkier procesador solo ensamblandolo en el ensamblador correspondiente?
Sí. El código siempre es el mismo, solo cambia el assembler (gasm, masm, nasm...).
Aquí tienes una lista de algunos assemblers: http://en.wikipedia.org/wiki/List_of_assemblers
entonces xq hablan de asm para 80x86 y otros? no deberian ser iguales?
Haz de cuenta que tu haces juegos para el Xbox. Cuando metes el juego del Xbox a la pc no va a servir porque el microprocesador de la pc no lo reconoce, es otra arquitectura que solo la reconoce el microprocesador del Xbox. Lo mismo al revez, si metes un Cd de pc al Xbox, pues no funcionará.
Son cosas que no se entienden aún explicando. Yo esto lo se porque pregunté mucho, pero la mejor manera de averiguar y entender muy bien es programando en Asm. Lo que quieras (compiladores, malware...) pero en Asm.
Voy a checar en blueportal a ver si hay algo que explique esto bien porque yo también me hago muchas bolas.
;)
Yo ya quiero salir de los parciales de la uni para comerme un libro de asm, no te imaginas lo ancioso q estoy de empezar a experimentar :( me parece un mundo muy interesante. Quizas le ponga una reverse shell al buscaminas como primer intento xD
Je. Yo también quiero hacer mi compilador y mi gusano que haga mierd. la pc de los lammers, pero todo a su tiempo. "Primero aprendo a caminar (c++) y después a correr (asm). ;)
Hasta ahora solo encontré este manual que es sobre INTEL: http://developer.intel.com/design/pentium/manuals/
A proposito de ese paper otra de mis metas es apreder bien el ingles, solo q mi paciencia solo es para programar, para el resto me cuesta. No me queda otra que comprarme un libro de asm en español.
Cita de: jose2c en 13 Marzo 2006, 05:08 AM
A proposito de ese paper otra de mis metas es apreder bien el ingles, solo q mi paciencia solo es para programar, para el resto me cuesta. No me queda otra que comprarme un libro de asm en español.
Lee e-books en inglés y usa el Babylon o
wordreference.com (http://wordreference.com), yo hago eso y entiendo.
Aquí hay más pero en español, así que no creo que sirvan: http://lawebdelprogramador.com/cursos/mostrar.php?id=29&texto=Ensamblador
[EDIT]
Estos sí: http://www.programmersheaven.com/zone5/index.htm
pues si no hay como escaparle al ingles :-\
CitarNo. El Assembler es el programa que traduce a código máquina o para lo que se necesite.
El asm no es un programa, es el lenguaje maquina propiamente dicho.
Los compiladores son los que traducen el codigo fuente, al codigo maquina.
mira :
Pseudocodigo --> Codificacion a un lenguaje(C por ej) -->Asm
{es como un intermediario }
A su ves lo compiladores pueden Codificar el tu codigo fuente para diferentes plataformas.
_________________
Volviando al tema, hay un manual de asm en la sección de descargas del sitio :o
Cita de: div@d en 14 Marzo 2006, 03:01 AM
CitarNo. El Assembler es el programa que traduce a código máquina o para lo que se necesite.
El asm no es un programa, es el lenguaje maquina propiamente dicho.
Los compiladores son los que traducen el codigo fuente, al codigo maquina.
mira :
Pseudocodigo --> Codificacion a un lenguaje(C por ej) -->Asm
{es como un intermediario }
A su ves lo compiladores pueden Codificar tu codigo fuente para diferentes plataformas.
_________________
Volviando al tema, hay un manual de asm en la sección de descargas del sitio :o
//le mande a quote en lugar de modificar... estoy re boludo hoy..:P
Cita de: X.Cyclop en 13 Marzo 2006, 04:36 AM
Haz de cuenta que tu haces juegos para el Xbox. Cuando metes el juego del Xbox a la pc no va a servir porque el microprocesador de la pc no lo reconoce, es otra arquitectura que solo la reconoce el microprocesador del Xbox. Lo mismo al revez, si metes un Cd de pc al Xbox, pues no funcionará.
Son cosas que no se entienden aún explicando. Yo esto lo se porque pregunté mucho, pero la mejor manera de averiguar y entender muy bien es programando en Asm. Lo que quieras (compiladores, malware...) pero en Asm.
Voy a checar en blueportal a ver si hay algo que explique esto bien porque yo también me hago muchas bolas.
;)
:huh: :huh: :huh:
el asm varia de arquitectura a arquitectura, logicamente que se sigue llamando ensamblador pero varian las instrucciones como "mov" , "jne" "jE" tienen sus analogos para cada arquitectura, yo tambien estudio ingenieria de sistemas y pues a un ingeniero le dio por enseñarnos aunque ya lo habia aprendido antes ::),
antes de que aprendas a programar en ensamblador tienes que tener en cuenta ciertos conceptos, aca te dejo una pagina bastante buena y didactica :P
http://www.itlp.edu.mx/publica/tutoriales/ensamblador/index.htm
saludos ;D
Ok. No sabía que cambiaban las instrucciones, sorry.
De esa web estoy aprendiendo lo básico de C++, está muy buena. ;)
Cita de: div@d en 14 Marzo 2006, 03:01 AM
CitarNo. El Assembler es el programa que traduce a código máquina o para lo que se necesite.
El asm no es un programa, es el lenguaje maquina propiamente dicho.
Los compiladores son los que traducen el codigo fuente, al codigo maquina.
mira :
Pseudocodigo --> Codificacion a un lenguaje(C por ej) -->Asm
{es como un intermediario }
A su ves lo compiladores pueden Codificar el tu codigo fuente para diferentes plataformas.
_________________
Volviando al tema, hay un manual de asm en la sección de descargas del sitio :o
Lee el post completo por favor. Asm no se compila. :P
CitarLee el post completo por favor. Asm no se compila. tongue
En ningun momento dije que el asm se compila:S, dije que el compilador compila el codigo fuente a asm, y la accion compilar recae sobre el codigo fuente, no sobre el asm , que es el resultado
Ok entendi mal. Prácticamente eso fue lo que dije arriba, no entiendo para qué repetirlo. :P
CitarOk entendi mal. Prácticamente eso fue lo que dije arriba, no entiendo para qué repetirlo. tongue
jajaj no hay problema...
me sorprende la velocidad con la que respondes... :o
http://www.itlp.edu.mx/publica/tutoriales/ensamblador/index.htm
Parece wena :D
Yo voy a ser original y te recomiendo estos dos libros:
Este lorecomendó Jon DVD en su blog (la versión inglesa, claro)
http://www.agapea.com/Lenguaje-ensamblador-de-los-80x86-n10272i.htm
Yo tengo este es algo más extenso que va desde un nivel básico hasta intermedio (7xx páginas)
http://www.agapea.com/Ensamblador-n10472i.htm
Me lo compré ayer mismo.
Cita de: div@d en 14 Marzo 2006, 04:29 AM
me sorprende la velocidad con la que respondes... :o
Soy "Cyclopspeedy". ;D
The_ChoseN gracias por la referencia, de hecho buscaba una recomendacion.
Cita de: xxThe_ChoseNxx en 15 Marzo 2006, 20:57 PM
Yo voy a ser original y te recomiendo estos dos libros:
Este lorecomendó Jon DVD en su blog (la versión inglesa, claro)
http://www.agapea.com/Lenguaje-ensamblador-de-los-80x86-n10272i.htm
Yo tengo este es algo más extenso que va desde un nivel básico hasta intermedio (7xx páginas)
http://www.agapea.com/Ensamblador-n10472i.htm
Me lo compré ayer mismo.
para los que no tienen pasta puedes subir los libros a algun host :P
Asm: No tiene mucho que ver con programar e, c, c++, etc. etc.. son pocas las instrucciones y básicas, y después todas llamadas a subrutinas preprogramadas (apis en windows) pero te permite meterte a un nivel mucho mas cercano del procesador... Si querés programar asm en windows, te recomiendo que te bajes el masm32, hay muchos tutoriales y ejemplos acerca de él. Vas a necesitar una guía de las apis de windows también (hay un archivo que circula por internet, que ahora no se donde, creo que en la web de microsoft que tiene información detallada acerca de cada una de ellas) y comenzar estudiando los programas de ejemplo que trae. Para depurar, el ollydbg, que lo usan mucho los crackers. En linux el masm, que no lo conozco.. y en dos el tasm. Saludos y suerte
Cita de: diegoar en 17 Marzo 2006, 05:02 AM
Asm: No tiene mucho que ver con programar e, c, c++, etc.
¿Qué? Asm junto con C y C++ hacen un super-programa: OS (por ej.).
Ok. aclaro, me refiero al método, instrucciones, etc...
Sigo creyendo que los tutos que circulan x internet sobre asm (almenos en español) no son muy buenos, yo quiero aprender bien a codear en asm y por lo general en estos tutos dan por sentado muchas cosas, obvian otras, faltan muchos "porque" ...etc
http://thsun1.jinr.ru/%7Ealvladim/man/asm.html
http://www.rinconsolidario.org/eps/asm8086/asm.html
Si encuentro más, los pongo. ;)
Si quieren aprender asm (por lo menos para win32) visiten la pagina http://win32assembly.online.fr/. Leyendo los tutos de iczelion q hay ahi aprendi yo (aparte de meter mano en el cracking). No van a salir siendo uno expertos en asm pero lo basico si.
No consigo ningun libro en español sobre ASM, me pase 2 horas chekando dos librerias bien grandes y nada... parece que me ekivoke de epoca xD, todos los libros son de lenguajes de alto nivel. Me podrían dar el nombre de algun buen libro sobre ASM para ver si esta en algun rincon de Venezuela? ya estoy frustrado, tendre que conformarme con los tutos que se consiguen en la web (todos lo buenos en ingles ¬¬)
Este lo consegui en el kiosco de revistas y diarios (aca en Argentina).
Biblioteca tecnica de programacion - Como programar en Ensamblador 80x86 - Prensa Tecnica. (Impreso en España 1997)
C/Vicente Muzas 15, 1º D Madrid 28043
Tel: (91) 5192353 - Fax (91) 4135577
Es un libro de bolsillo (en español) que viene con un CD
Mi opinion es que es aceptable, medianamente completo, por lo menos para empezar. (Fuel el primero y unico que consegui en español el resto siempre fueron en ingles)
Atentamente Hexios.
muchas gracias Hexios, a ver si lo consigo.
Cita de: diegoar en 17 Marzo 2006, 05:02 AM
En linux el masm, que no lo conozco.. y en dos el tasm. Saludos y suerte
¿MASM en Linux? No lo creo, lo veo un poco difícil:
The Microsoft Macro Assembler (abbreviated MASM) is an assembler for the x86 family of microprocessors. It was originally produced by Microsoft for development work on their MS-DOS operating system, and was for some time the most popular assembler available for that operating system. It supported a wide variety of macro facilities and structured programming idioms, including high-level constructions for looping, procedure calls and alternation (therefore, MASM is an example of a high-level assembler). Later versions added the capability of producing programs for the Windows operating systems that were released to follow on from MS-DOS.http://en.wikipedia.org/wiki/MASM
Tengo como 5 e-books muy buenos de Asm, en inglés obviamente. Si alguno los quiere que mande MP (son muchos Mb, no pienso subir todos). :rolleyes:
No sabes de alguno que ya este en la web...¿link? (sube el que te parezca mas interesente :rolleyes:)
ENSAMBLADOR PARA DOS, LINUX Y WINDOWS (INCLUYE CD-ROM)
http://www.casadellibro.com/fichas/fichabiblio/0,1094,2900000896402,00.html?codigo=2900000896402&titulo=ENSAMBLADOR+PARA+DOS%2C+LINUX+Y+WINDOWS+(INCLUYE+CD-ROM)
43 euros, sucks.
Busca en www.blueportal.org | http://www.ebooksportal.org | http://babybluevn.co.nr
Creo que de allí saqué los que tengo. :rolleyes:
Lo vale.
CitarUna de las respuestas a esta pregunta sería que, programando en ensamblador, nos convertiremos prácticamente en artesanos del desarrollo de programas, ocupándonos de todas las tareas en las que deseemos intervenir personalmente. El tiempo empleado para crear cualquier programa será superior pero, a cambio, obtendremos programas muchísimo más pequeños e infinitamente más rápidos que los que podamos crear con cualquier lenguaje de alto nivel.
Me gustó esa descripción. :)
¿Está completo el libro? :huh:
Cita de: X.Cyclop en 23 Abril 2006, 20:04 PM¿Está completo el libro? :huh:
El 60% es sobre assembly, 40% sobre la BIOS y MS-DOS, 5% de Windows y 5% de Linux.
Cita de: Eternal Idol en 23 Abril 2006, 20:23 PM
El 60% es sobre assembly, 40% sobre la BIOS y MS-DOS, 5% de Windows y 5% de Linux.
Impresionante :o :o :o :o
Al fin uno bueno en español.
Oye Eternal Idol no tendras un escaner............ xDDDD
Cita de: jose2c en 24 Abril 2006, 15:58 PM
Oye Eternal Idol no tendras un escaner............ xDDDD
La verdad es que no tengo.
Wenas aki os pongo dos tutos que a mi me parecen buenos y son los que estoy consultando ahora mismo El primero es para ASM AT&T y el segundo es de INTEL pero bueno el segundo fue titulado como curso de programacion de virus pero para aprender asm tambien vale.
http://www.it.uc3m.es/ttao/html/index.html
http://www.wikilearning.com/introduccion-wkccp-4312-1.htm
Un saludo.
Claro que si, cualquier cosa sobre el tema es bienvenida, ya con tantas cosas no se por donde empezar y por eso es que necesito algun libro que estructure bien los temas.
te enseñan en electronica, para programar PIC´s (microprocesadores) eso va más apuntado a la electronica de logica por microprocesadores y tambien a la robotica, pero no va directo a crear programas para la computador, pero SIRVE, sí sabes usarlo en microprocesadores pic , pues podrás tener facilidad de hacerlo en una PC ;).
Asi que si quieres aprender en internet hay muchos manuales, guias, tutoriales (la mayoria en ingles), y si quieres aprender aprender asi con profe, pues averigua sí en tu pais y en tu localidad habrán cursos de Microprocesadores y lenguaje assembler, y sí tienes suerte encontrarás, pero si no pues te queda solo Carrera de electronica, yo en lo persona no me cambiaria de carrera por aprender el lenguaje assembler, no lo deseo tanto asi.
Pero tengo que suerte deque hay un instituto que enseñan pero aún no lo han programa (fecha de inicio) estoy a la espera de ese curso, hay algunos institutos que enseñan C++ , java, visual basic, etc etc, el mio enseña todo menos C++, pascal, y assembler obio XD ya no lo aplican solo en la electronica.
pero eso no quiere decir que no lo puedas aprender, busca siempre en google, take google hay de todo, solo tienes que saber como usarlo.
Cita de: enrique8923 en 9 Noviembre 2008, 10:01 AM
te enseñan en electronica, para programar PIC´s (microprocesadores) eso va más apuntado a la electronica de logica por microprocesadores y tambien a la robotica, pero no va directo a crear programas para la computador, pero SIRVE, sí sabes usarlo en microprocesadores pic , pues podrás tener facilidad de hacerlo en una PC ;).
Asi que si quieres aprender en internet hay muchos manuales, guias, tutoriales (la mayoria en ingles), y si quieres aprender aprender asi con profe, pues averigua sí en tu pais y en tu localidad habrán cursos de Microprocesadores y lenguaje assembler, y sí tienes suerte encontrarás, pero si no pues te queda solo Carrera de electronica, yo en lo persona no me cambiaria de carrera por aprender el lenguaje assembler, no lo deseo tanto asi.
Pero tengo que suerte deque hay un instituto que enseñan pero aún no lo han programa (fecha de inicio) estoy a la espera de ese curso, hay algunos institutos que enseñan C++ , java, visual basic, etc etc, el mio enseña todo menos C++, pascal, y assembler obio XD ya no lo aplican solo en la electronica.
pero eso no quiere decir que no lo puedas aprender, busca siempre en google, take google hay de todo, solo tienes que saber como usarlo.
Se agradece la información, pero agradecería también que revisaras la fecha de los "post" para no "revivir" semejante mensaje de museo.
Salu2...
Cita de: ANELKAOS en 27 Febrero 2006, 02:25 AM
Depende para que micro, lo normal es que encuentres lo que buscas en www.Intel.com o www.amd.com
llevo mas de 10 años usando solo assembler, te recomiendo que te lo pienses mucho. Yo antes programe en fortran C basic etc, pero el assembler es otro mundo y poco a poco te aisla de estos lenguajes de alto nivel hasta complicarte mucho el retorno a ellos, yo ahora tendria problemas para programar en C sin embargo pasar de basic a C fue casi trivial, salvo punteros y eliminacionde GO TOs
El assembler por si solo te sirve de muy poco, necesitas conocer las APIs de Win32 o llamadas al nucleo de Linux (MsDos ya lo descarto...) y a veces lo peor disponer de los headers (*.inc si usas MASM32 en Win32) si estos no existiesen y en caso de necesitar acceder a objetos COM ya ni te digo, es todo un infierno!
Entonces te preguntaras: por que usas MASM?, bien es facil: me gusta y yo no vivo de la programacion, me aficione y creeme que es toda una experiencia comunicarse con el procesador directamente, saber que todo lo que tecleas se compila tal cual, pero a nivel practico para ti que seras un informatico...NULO!
Creo que lo mejor es que te centres en C++ C# por que profesionalmente te serviran, deja el asm como hobby
y si usas uno sin lugar a dudas el masm32 www.mas32.com (http://www.mas32.com) y los tutoriales de Iczellion que supongo te lo mencionarian antes (no lei todos los mensajes), pero repito: asm sin APIs no sirve de nada.