25 nov 2010

Lenguaje ensamblador

Uno de los lenguajes de bajo nivel es el lenguaje ensamblador, usado para crear programas informáticos. Este lenguaje es de bajo nivel dado que el código que se crea tiene que ser especifico al hardware de la máquina o computadora para la cual se hace el programa.

Este lenguaje es difícil de aprender -mas no imposible-, porque no usa términos que el programador pueda memorizar con facilidad como lo es con los lenguajes de alto nivel.

Cuando se crean programas con lenguaje ensamblador, estos tienen una velocidad mayor en su ejecución, ya que tienen un acceso directo a los recursos de la computadora, pero su portabilidad es mínima porque esta restringida a las especificaciones de cada computadora.

El lenguaje ensamblador fue usado mayoritariamente en los inicios del desarrollo de software, porque no se contaba aún con los lenguajes de alto nivel, sin embargo se sigue utilizando en ámbitos académicos y de investigación.

Lo malo del lenguaje ensamblador:

  • Es difícil entender el código escrito, ya que es muy cercano el lenguaje máquina.
  • La portabilidad es casi nula, debido a que hasta en computadoras con el mismo microprocesador se tienen que hacer modificaciones.

Lo bueno del lenguaje ensamblador:

  • Los programas creados suelen ser más rápidos.
  • Se consumen menos recursos del sistema.
  • Suelen ocupar menos espacio en disco.
  • Hay mayor control de las tareas que debe hacer el microprocesador.


Enseguida esta el código para nuestro querido programa Hola mundo! para un procesador x86:
.model small
.stack
.data
   saludo   db "Hola mundo!", "$"
.code
 
main  proc              ;Inicia proceso
   mov   ax,seg saludo  ;hmm ¿seg?
   mov   ds,ax          ;ds = ax = saludo
   mov   ah,09          ;Function(print string)
   lea   dx,saludo      ;DX = String terminated by "$"
   int   21h            ;Interruptions DOS Functions
   ;mensaje en pantalla
   mov   ax,4c00h       ;Function (Quit with exit code (EXIT))
   int   21h            ;Interruption DOS Functions
 
main  endp              ;Termina proceso
end main
El código no es mio, fue obtenido de una página que al final de la publicación se encuentra el enlace, pero lo pongo aquí para tener una idea de como sería programar en este lenguaje.

Afortunadamente contamos con lenguajes de alto nivel, que le hacen la vida menos complicada a los programadores, pero era necesaria esta entrada para conocer un poco los inicios de la programación.

Enlace: Hola mundo en ensamblador

1 comentario: