miércoles, 24 de enero de 2018

Curso ensamblador x86 Introducción

Capítulo 1: Fundamentos

¿Qué es el lenguaje máquina?
Las máquinas no hablan español, inglés o un lenguaje que nosotros podamos comprender, ellas emplean el lenguaje binario (0, 1).

Dado que nosotros directamente no podemos traducir este lenguaje tenemos que recurrir a los lenguajes de alto nivel:

Ejemplo: Phyton, C#, Ruby.

Se les conoce de alto nivel por que son los que más se parecen al lenguaje que utilizamos los humanos para comunicarnos.

El lenguaje ensamblador es el más cercano al lenguaje máquina, su relación al lenguaje binario es de uno a uno, es decir una instrucción equivale a una misma en binario a diferencia del lenguaje de alto nivel que una instrucción equivale a varias en el lenguaje utilizado por las máquinas.

Un compilador nos permite traducir el lenguaje de alto nivel al lenguaje máquina.

Pero existen distintos fabricantes para el lenguaje fábrica (Motorola, IBM) que realizan sus productos de manera diferente, por lo tanto las instrucciones en el lenguaje máquina que trabajan en ellos son diferentes.

Arquitectura X86 en Intel
Intel se funda en 1868 y en 1981 lanza el procesador 8086 que tenía varios registro de 16 bits y soportaba hasta 1 MB de memoria y solo operaban en modo real, se refiere a cualquier programa puede acceder a cualquier dirección de memoria, incluso de otros programas.

En 1982 sale a la venta la CPU 80286 con mejoras que incluían un modo protegido de 16 bits que permitía acceder hasta 16 MB de memoria y protegía a los programas el acceso de otro (problema que surgía con el modo real del anterior modelo).

En 1985 sale el Intel 80386 esta CPU es una actualización de su predecesor extiende el registro a 32 bits y de igual forma incluye el modo protegido. Los programas vienen divididos en segmentos, pero cada programa puede tener hasta un tamaño de 4 GB.

A partir de ahí los siguientes modelos solamente agregaron mejoras a la arquitectura de X86.

En el 2009 salen los procesadores i3, i5, i7, los cuales son una ampliación de la arquitectura X86 a X64.

Arquitectura x86 en AMD
AMD fundada un año después de Intel, y en 1975 la empresa toma el CPU 8086 y le realiza una ingeniería inversa para sacar su procesador 9080, la cual prácticamente es un clon.

A partir de ahí hasta 2003 sacaron varios procesadores que eran una copia de los de la competencia con la misma arquitectura.

En el 2005 sacan la extensión de 64 bits de la arquitectura X86.

Ensambladores
Existen varios tipos de ensambladores (Microsft Assembler, Turbo Assembler, Netwide Assembler) cuyas instrucciones son las mismas para el lenguaje máquina, lo que cambia es la estructura del programa.

No hay comentarios.:

Publicar un comentario

Psy - Gangnam Style Psy - Gangnam Style Animated Rainbow Nyan Cat Animated Rainbow Nyan CatDancing Banana/* Start http://www.cursors-4u.com */ body, a:hover {cursor: url(http://cur.cursors-4u.net/food/foo-2/foo112.ani), url(http://cur.cursors-4u.net/food/foo-2/foo112.png), progress !important;} /* End http://www.cursors-4u.com */Animated Rainbow Nyan Cat