Aula Macedonia


Curso de Programación en Ensamblador para PC


Artículo realizado por
Ricardo Amil "Artemis"





Introducción

El lenguaje "Assembler" (ASM) o Ensamblador es el lenguaje más rápido para la programación del PC, ésto se debe a que utiliza instrucciones que acceden a los registros del procesador directamente. Mantiene una comunicación muy estrecha con el "hardware", permitiendo controlar al máximo cada componente del ordenador. Por lo mencionado anteriormente, el Ensamblador, es un lenguaje de bajo nivel. Los lenguajes de bajo nivel son los que necesitan una descripción y cantidad de pasos mayores, para efectuar una tarea, que en un lenguaje de alto nivel, como el C, C++, Pascal y muchos más, pero permiten una mejor conección con los dipositivos y brindan una velocidad mayor que los de alto nivel.

Un PC opera dígitos binarios, o sea 0 y 1, basándose en el álgebra de Boole (matemático inglés, 1815-1864) para llegar a los circuitos electrónicos con el simple sistema de la conducción de electricidad (1), o la no conducción de electricidad (0). En la codificación binaria cada dígito puede albergar un valor de 1 ó 0. Éstos dígitos son los bits, los cuáles se agrupan para formar números hexadecimales que en su combinación representan instrucciones de procesamiento. Para entenderlo mejor se pueden representar números a través de un conjunto de dígitos binarios o bits. Supongamos que tenemos un conjunto de 8 bits (BYTE), como en el sistema decimal cada dígito tiene su ubicación y representa un valor según su posición, los bits funcionan igual:

Los 0 en violeta representan el estado de cada uno de los 8 bits, en este caso todos son 0(apagado). Cada número negro representa el valor de bit 1(encendido) en esa posición.

Como puede verse, el bit más significativo (MSB - Most Significant bit), situado a la izquierda, posee un valor de 128 decimal cuando está encendido, y el bit menos significativo (LSB - Least Significant Bit), situado a la derecha, posee un valor de 1 decimal al estar encendido. De esta manera puede apreciarse que el valor de cada bit en su posición, es de 2 a la potencia cuyo número corresponda al lugar en orden regresivo, o sea el LSB tiene un valor de 2 a la 0 potencia (1), el siguiente de 2 a la 1 potencia (2), el que le sigue de 2 a la 2 potencia (4), etc. Las posiciones encendidas se suman dando como resultado un número decimal al que su representación binaria equivale: 00000000(0), 00000001(1), 00000010(2), 00000011(3), 00000100(4), 00000101(5), 00000111(6), ... , 11111111(255). Pueden realizarse operaciones aritméticas con los dígitos binarios, podríamos explicarlas, pero ésa no es la finalidad de ésta introducción.

Con los dígitos hexadecimales sucede lo mismo, pero cada posición alberga 16 valores decimales (de allí HEXA - DECIMAL) los símbolos utilizados son los 10 dígitos decimales (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) más los primeros 6 caracteres del alfabeto (A, B, C, D, E, F). En hexadecimal la serie de números sería: 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20, etc; siendo el equivalente de 10h o 0x10 (10 hexadecimal), 16 decimal.

Anteriormente se explicó el sistema de numeración que un PC utiliza. Una vez sabido esto, se puede aprender la organización de los datos formados por conjuntos de bits.



ÚLTIMA REVISIÓN EN ABRIL DE 1999


[Aula Macedonia]
[Curso de Ensamblador]


AULA MACEDONIA
X
MACEDONIA Magazine