Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

Solo di mi nombre y ahí estaré

–Que hacer si quieres contactarme personalmente–

Hace muchísimo tiempo que me decidí a programar en ensamblador. Hace poco mas de un año (contando de esta nota) que decidí compartir información con otras personas en internet. Después de haber visto el gran abandono en el que se encuentran este tipo de técnicas he decidido que ya es tiempo de dar el siguiente paso. Un paso bastante mas arriesgado para mi pero que definitivamente tendría que dar tarde o temprano. Este paso es el del contacto.

toma externa

Cuando inicié esta página ya tenía la idea de que en realidad a muy pocos les interesaba programar en ASM. Que la mayoría de la gente que entraría aquí serían estudiantes que realmente no les interesa el tema mas allá de acreditar una materia y posiblemente 2 o 3 programadores que si querían aprenderlo. Y por esos contados programadores fue que comencé a escribir. Sin embargo, al revisar diversa información sobre el tráfico en esta página he descubierto que si bien es muy poca la gente que toma en serio el ensamblador si hay un gran interés por parte de gente que no acaba de conocerlo. No es un interés tan grande pero es lo suficientemente importante como para que valga la pena el esfuerzo.

De modo que si necesitas alguien que sepa de esta clase de temas o por lo menos si ya tienes una idea de que esperar luego de haber leido este blog puedes llamarme. No importa si se trata de un proyecto millonario a nivel internacional o simplemente una plática de café para hablar sobre como funciona algún programa. Pasando por cualquier otro tipo de ofrecimiento (o casi cualquier tipo) profesional o amateur relacionado con la programación en lenguaje máquina.

Se que allá afuera hay una gran necesidad de gente que conozca temas actualizados sobre como programar en ensamblador y no solamente el ASM del 8086 que se utilizaba en 1979. Ahora veamos algunas ideas de lo que podría hacerse.

Este ofrecimiento no necesariamente tiene que ser profesional, puede ser simplemente desde una simple plática hasta un proyecto ya en serio. Y en cuanto a cuestiones “serias” tengo algo que advertirles: yo no soy de los que imprimen mas de 9000 CV’s y andan por ahí repartiéndolos en todas las empresas como volantero. Si tu que me lees eres dueño de una empresa de tecnología ( o como algunos les gusta llamarse a si mismos TI) y tienes suficientes muertos de hambre rascando tu puerta como para tener un departamento de RRHH que no destina mas de 10 segundos a la lectura de cada uno de estos CV’s realmente no necesitas de mis servicios. En todo caso toma este blog como mi CV incluyendo los videos, proyectos, códigos y cualquier chisme que puedas encontar en la web relacionada con el mismo. Y si te vas a poner exigente en otros campos no relacionados con el ASM hay muchísima gente que tiene mas y mejores cosas que ofrecerte que yo y que están dispuestos a hacer tu voluntad a cambio de un “trabajo estable” aunque no se de muchos que les guste el ASM. Yo solo te ofrezco lo que puedes encontrar en esta página y cualquier otra cosa que desarrolle a futuro.

Los buenos programadores de Ensamblador no son nada fáciles de encontrar

Es mas, primero publica tu oferta y si no encuentas un candidato que cumpla con tus condiciones puedes venir aquí y contactarme, se bien que al menos en México los buenos programadores de ensamblador son verdaderamente escasos. Si me llamas, es posible que pueda ayudarte en cualquier cosa relacionada con la programación en ensamblador. Es decir desde simple programación en lenguaje máquina pasando por la programación gráfica en tiempo real, desarrollo de juegos y si es necesario también programación de hardware no convencional y sistemas “embedded”.

Y aunque todavía me falta mucho por aprender considero que ya puedo hacer suficiente para dar esta clase de servicios. Mas adelante veremos como hacer todo de manera “oficial” pero primero es mejor aprender y convivir como amigos.

Y bien, esto es lo que tienes que saber si realmente quieres contactarme. Para empezar opero alrededor del area metropolitana de Monterrey Nuevo León en México. Pero tengo completa disponibilidad para viajar o hacer trabajos por medio de internet. Puedes dejarme una dirección de correo electrónico o un enlace a tu website y tus datos en la nueva sección de contacto y yo me encargaré de encontrarte. Cualquier información personal o profesional delicada (como la típica de los CV’s) será discutida de manera privada via internet.

Por cierto, si decides contactar puedes pasar a la nueva sección de C O N T A C T O en este mismo blog, los enlaces están en la barra superior y en la foto del teléfono del lado derecho de la pantalla.

No dejo de pensar que este es un movimiento arriesgado pero esta es la única manera que tengo de continuar en el camino y que mejor si con esto ayudo a otros de manera mas personal en esto de la programación en ensamblador. Solo espero que no me salga uno de esos de “igual se trata de trata” y si acaso hay alguno de esos entre ustedes sepan que aun no estoy tan desesperado…

Anuncios

abril 12, 2010 - Posted by | Uncategorized | , ,

5 comentarios »

  1. Acuerdate del reto que te pusimos en agosto del 2003… un nivel del DOOM utilizando solo ensamblador… pero en 3d del bueno, nada de andar simulandolo con matrices de 2 dimensiones.

    pd. se lo que hiciste el verano de hace 7 anios…

    uik

    Comentario por Puerco | abril 12, 2010 | Responder

    • Que puerko te viste, uikkkkkkkk uik uik

      Comentario por b1ackpig | abril 12, 2010 | Responder

    • Que bueno que me lo recuerdas, por salud mental me mande borrar la memoria del 2000 al 2004 pero ahora que lo mencionas creo que voy a incluir eso en la serie Poor Programmer. Puede que sea el reto 4 o 5. Por cierto, el reto 1 esta a punto de llegar a su fin. Asi podran verlo todos en el youtube.

      Comentario por asm86 | abril 12, 2010 | Responder

  2. Hola Mario,
    tengo otra duda (o mas bien una curiosidad) en la que espero me puedas guiar.
    El siguiente bloque de código produce un error:

    mov ax,-10
    mov bx,2
    div bl ;produce un error porque el resultado sería 32763 que no cabe en el registro al

    Entiendo porque se produce el error, y que camino tomar para evitarlo, la cosa es que cuando lo depuro con el OllyDbg la ejecución se detiene en la instrucción div, al parecer se genera una excepción. La pregunta es entonces, como se manejan las excepciones en ensamblador?

    Comentario por Ricar2 | abril 16, 2010 | Responder

    • De acuerdo a los manuales de Intel, el resultado de una division entera de un registro de 16 bits entre un divisor de 8 bits no puede ser mayor de 255. Si el resultado es mayor que eso se genera una #DE que es la Divide Error Exception. El manejo de excepciones en modo protegido se hace mediante una tabla de descriptores de interrupción y en modo real se usan los vectores de interrupción.

      En este caso tienes dos soluciones: una es guardar el dividendo entre DX:AX con DX en cero y un divisor de 16 bits. El resultado va a ser de 16 bits. Lo mismo aplica con EDX:EAX y un divisor de 32 bits en modo protegido. Ahora que en lo personal la instrucción DIV siempre me ha parecido muy revoltosa por lo que la segunda opcion cuando se trata de hacer muchos cálculos prefiero usar instrucciones de la Floating Point Unit como FDIV. Con la FPU es mucho mas complicado cometer errores como esos y ademas tiene una muy buena capacidad de convertir entre diferentes tipos de datos.

      Comentario por asm86 | abril 16, 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: