jueves, 1 de marzo de 2012

Tipos y Seleccion

Ensamblador

El lenguaje ensamblador se puede codificar de varias formas todo dependiendo de la arquitectura que maneja la computadora y el tipo de ensamblador en el que estamos trabajando.

Antes de empezar a manejar el Lenguaje Ensamblador hay que considerar dos cosas primordiales: que arquitectura y el tipo de ensamblador a utilizar.

Como mi computadora tiene el procesador Intel Pentium su arquitectura debe de ser la x86 de intel.

Una vez revisado la arquitectura de mi computadora, hay que definir que tipo de ensamblador vamos a trabajar.

Existen varios tipos de ensamblador para mi arquitectura, por ejemplo:
  • MASM (Microsoft Macro Assembler).- Producido originalmente por Microsoft para el trabajo de desarrollo en su sistema operativo MS-DOS. Aunque MASM ya no es un producto comercial, Microsoft continúa soportándolo debido a la gran base de código ensamblador que existe internamente en Microsoft.
  • TASM (Turbo Assembler).- Un ensamblador principalmente destinado a la plataforma del IBM PC y sus compatibles.Trabaja muy bien con Turbo C, Turbo BASIC y Turbo Pascal.
  • NASM (Netwide Assembler).- Es un ensamblador libre para la plataforma Intel x86. Incluye un desensamblador, el NDISASM. Usa la tradicional sintaxis de Intel para el lenguaje ensamblador x86.
  • FASM (Flat Assembler).- Ensamblador libre,  usa la sintaxis de Intel que soporta las arquitecturas IA-32 y x86-64. Es notable por su velocidad rápida, optimizaciones de tamaño, portabilidad, poderosas capacidades de macro, y la comunidad del foro en línea.
  • GAS (GNU Assembler).- Ensamblador del proyecto GNU. Inicialmente utilizaba únicamente la sintaxis de AT&T, sin embargo las ultimas versiones de este soportan la sintaxis de Intel.
El ensamblador que voy a utilizar es el GAS.

Para general codigo assembler de un programa en C es mediante: 

gcc -S Nombre del Archivo.c


El mismo Ensamblador nos generara el código assembler para nuestra arquitectura.

Con esta información próximamente haré mi Tarea Intro.

Bibliografías:

1 comentario: