Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

Tierra de Indios

–Predicando el Ensamblador en la Tribu Linux–

Existe una expresión que dice “Hablar de Dios en tierra de indios”. Significa que hay ciertos temas que pueden desatar la ira de determinadas comunidades. Y una de las comunidades que mas odia el Ensamblador es la de Linux. No entiendo exactamente porqué pero hasta ahora de todos los grupos de usuarios de linux que he conocido no he encontrado a un solo programador que no mire al Ensamblador con desprecio, y algunas veces hasta con odio. En otra nota les contaré mis encontronazos con un cierto grupo de usuarios de Linux de mi pueblo. Por ahora solo comentaré que dos de los personajes de este grupo con los que mas me peleaba eran “El Enano” y “El Maricotas”.

pinguino apache

Bueno, no es necesario explicar que en lo referente a leguajes de programacion, el dios de los linuxeros es el lenguaje C. Asi que es obvio que se enfurezcan cuando alguien les habla sobre el Ensamblador. De hecho este tema es excelente si quieren buscarle pelea a un linuxero. El asunto es que a pesar de esta diferencia de opiniones hubo alguien en Europa Oriental que se le ocurrió juntar ambas cosas: Linux y Ensamblador. Y asi fue como nació el sitio linuxassembly.org. Sitio del que por cierto ya hay un link en la barra de enlaces de este blog.

Este sitio es relativamente viejo y no se mueve mucho, parece que su antiguo administrador no pudo seguir manteniéndolo por motivos de trabajo. Asi que en su desesperación lanzó un grito de auxilio a todos los aficionados al ensamblador (no muchos) para ayudarle con su sitio. No se cuantos se acercaron pero yo le envié un correo diciéndole que quería colaborar con su página. Una semana despues me llegó un correo diciéndome que si podía hacer tutoriales solo tenía que mandárselos cuando los terminara.

Antes de ponerme a presumir de gran desarrollador de software libre y compararme con ese hippie apestoso al que los linuxeros le besan sus micóticos pies (los linuxeros saben bien de cual de sus profetas hablo) es oportuno decir que mi experiencia con linux ha sido mas mala que buena. Para empezar esa gente odia al ensamblador, tienen unas costumbres rarísimas como recompilar el nucleo de su sistema operativo cada noche de luna llena, usar editores de texto cuyos comandos van junto con el texto que escriben, adorar a un anciano de barba larga que le toca la flauta a las mariposas, y se dice que algunos hasta hacen Drivers(ellos les llaman módulos) sin usar nada de Ensamblador. Supongo que este último párrafo va a conseguirme algunos enemigos en el mundo de Linux, aunque no mas de los que ya tengo por el solo hecho de programar el Ensamblador.

Veamos, hace algún tiempo saqué de un bote de basura una computadora usada y le puse Ubuntu Linux. Funcionaba bastante bien tomando en cuenta el mal estado del hardware. El problema es que no estaba habituado a la forma de hacer las cosas en Linux y apenas pude programar algunos ejemplos con la linea de comando. Luego intenté conectar una PC con Windows a la máquina Linux para desarrollar estilo Cross Assembler. Pero tuve serios problemas a la hora de compilar los ejecutables y enviarlos, pues mis mejores herramientas de programación en Ensamblador corren en Windows. Ahora estoy considerando instalar una versión virtualizada de Linux en mi laptop. Según investigué hay una versión de Linux especial para correr dentro de Windows. No haciendo particiones como todos esos lamers/Posers que instalan linux en una partición para no utilizarlo nunca. Esta versión es conocida como CoLinux.

copinguino

No lo he instalado aún pero el FAQ dice que es una versión completa de Linux que puede correr como si fuera una simple aplicación de Windows usando la Virtualización. Esta opción me parece la mejor en cuanto a costo de hardware, tiempos y recursos. Mas adelante les diré como me fue en este asunto.

Hasta donde se, hay algunos ensambladores capaces de trabajar en Linux, como el NASM, GAS, etc. Sin embargo, FASM no solo es capaz de hacer programas para Linux, sino que puede hacerlos sin necesidad de ser ejecutado dentro de Linux. Es decir, que es posible escribir código para linux en una PC con Windows. Esto me ahorrará algo de tiempo mientras aprendo la exagarada complejidad de la mayoría de los editores de texto de Linux. Me pregunto porqué casi no tienen editores tan sencillos como el viejo EDIT del DOS.

¿Cual es el plan? Primero tengo que despejar mi disco duro porque ya me queda muy poco espacio. Luego experimentaré con ese asunto de la Virtualización de Linux y en cuanto pueda mover archivos entre un sistema y otro comenzaré a programar. Hasta entonces es mejor documentarse bien para entender las creencias tribales de esta comunidad que no deja de parecerme extraña. Pues hará falta valor para predicar el Ensamblador en Tierra de Linux.

junio 27, 2009 - Posted by | Uncategorized | , , , ,

8 comentarios »

  1. Interesante la forma de narrar que tienes, la verdad te felicito.
    No quiero entar en debate contigo porque sinceramente no soy programador, con lo cual me tiene sin cuidado esa supuesta disputa de la cual hablas, pero te queria apuntar por si te es util para tu proyecto.

    Si la lata en donde vas a virtualizar linux es relativamente decente, podrias usar QEMU o incluso Virtualbox o incluso VMware y meter la distro que te guste. Podrias usar una distro pequeña (en recursos) como Puppy o un Debian con algun entorno no muy pesado (personalmente me decanto por virtualbox).

    Con respecto a los editores tipo “Edit” en lo facil hay muchos… por nombrarte podria ser “pico”, “nano”, “gedit”, “kedit”, etc, que claro distan bastante con “vi” pero hacen lo mismo o mas que el viejo “Edit”.

    Saludos y suerte.

    Comentario por bushwaca | junio 28, 2009 | Responder

    • Gracias por tus comentarios, sobre todo porque voy a necesitar toda la ayuda posible para este proyecto. Voy a investigar sobre Virtual Box.

      Comentario por asm86 | junio 28, 2009 | Responder

  2. Seria interesante hacer un editor de ensamblador para linux.

    Saludos

    Comentario por b1ackpig | junio 30, 2009 | Responder

  3. Tu opnion respecto a Lunux y asm… es lo mismo que opinio yo…..es tan raro de programar….y no entiendo porque en lunux hacen editores con aspecto raro en diseño y el la forma de usar.

    Comentario por Adel86 | julio 1, 2009 | Responder

  4. no mames cabron tu no eres programador eres comendiante,
    me llama mucho la atencion de tu forma de expresarte y abarcar temas como estos metes personajes te mofas de la cultura y sin embargo tienes tanta razon , soy de las personas que creen que el asm debe ser un lenguaje primordial bueno espero termines tu tuto de ensamblador,tengo una duda cambia mucho la api de windows xp a la de windows xp ( NT5.1 a NT6.0) ?

    Comentario por raul = sirmonodemar | julio 14, 2009 | Responder

  5. perdon quize decir de xp a vista

    Comentario por raul = sirmonodemar | julio 14, 2009 | Responder

    • Gracias por el cumplido. En cuanto a lo de la compatibilidad es posible correr en Windows Vista desde programas para el viejo Windows 95 hasta cosas del propio Vista. Algunas llamadas a funcion ya no son soportadas y hay algunas nuevas. Pero en general es lo mismo. No se si mi tecnica se esta quedando obsoleta pero hasta ahora Windows Vista no me ha dado ningun problema para programar (salvo que algunos antivirus confunden los programas hechos en FASM con virus luego del SP1) como dicen que pasa con otros lenguajes.

      Comentario por asm86 | julio 15, 2009 | Responder

  6. Mas bien en linux hay buenos editores de texto. Puedes probar con gedit e instarle plugins, tambien esta el SciTE

    Comentario por Luis | julio 18, 2010 | Responder


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: