ASM Tipos Datos

From Movaxes

(Difference between revisions)
(Tipos de Datos)
Line 1: Line 1:
-
=Tipos de Datos=
+
=Datos=
 +
==Tipos de Datos==
La computadora solo entiende los '''1''' y los '''0''', toda la memoria está formada por conjuntos de '''bits''', sin embargo hay ciertas reglas que le permiten diferenciar entre código y datos, etc. Este tutorial no es sobre el funcionamiento del hardware sino mas bien sobre los tipos de datos que podemos usar.
La computadora solo entiende los '''1''' y los '''0''', toda la memoria está formada por conjuntos de '''bits''', sin embargo hay ciertas reglas que le permiten diferenciar entre código y datos, etc. Este tutorial no es sobre el funcionamiento del hardware sino mas bien sobre los tipos de datos que podemos usar.
-
Los tipos de datos son:
 
-
=='''bit'''==
+
==='''bit'''===
Esta es la unidad mínima. Representamos simbólicamente la presencia de un voltaje como '''1''' y su ausencia como '''0'''. BIT es la abreviación de '''Binary Digit''' (Digito Binario).
Esta es la unidad mínima. Representamos simbólicamente la presencia de un voltaje como '''1''' y su ausencia como '''0'''. BIT es la abreviación de '''Binary Digit''' (Digito Binario).
-
=='''nibble'''==
+
==='''nibble'''===
Un Nibble es una colección de '''4 bits'''. Puede representar 2^4 valores ('''1111''' (binario) = '''15''') lo que significa que podemos representar hasta ''un numero hexadecimal'' = '''0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F'''
Un Nibble es una colección de '''4 bits'''. Puede representar 2^4 valores ('''1111''' (binario) = '''15''') lo que significa que podemos representar hasta ''un numero hexadecimal'' = '''0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F'''
-
=='''byte'''==
+
==='''byte'''===
Un byte es el dato menor que la computadora puede direccionar, eso quiere decir que toda la memoria está dividida en conjuntos de '''16 bits''' (byte). Un byte es un conjunto de '''2 nibble''' (8 bits). Los bits de un byte se numeran de esta forma: '''7,6,5,4,3,2,1,0''' siendo el '''0''' el bit de '''orden inferior''' (low order), y el bit '''7''' es el de '''orden superior''' (high order) también llamado '''bit más significante''' (most significant bit) del byte. Un byte requiere de dos hexadecimales (2 nibbles). Puede representar 2^8 = 256 valores sin signo (por ejemplo: los caracteres ascii). También puede representar del número -127...+128 (con signo).
Un byte es el dato menor que la computadora puede direccionar, eso quiere decir que toda la memoria está dividida en conjuntos de '''16 bits''' (byte). Un byte es un conjunto de '''2 nibble''' (8 bits). Los bits de un byte se numeran de esta forma: '''7,6,5,4,3,2,1,0''' siendo el '''0''' el bit de '''orden inferior''' (low order), y el bit '''7''' es el de '''orden superior''' (high order) también llamado '''bit más significante''' (most significant bit) del byte. Un byte requiere de dos hexadecimales (2 nibbles). Puede representar 2^8 = 256 valores sin signo (por ejemplo: los caracteres ascii). También puede representar del número -127...+128 (con signo).
-
=='''word'''==
+
==='''word'''===
Un Word (palabra) es un conjunto de '''16 bits''' (2 bytes) del 0 al 15. Puede representar 2^16 = 0...65,536 valores (sin signo) o del -32,768..+32,767. Un word son = 2 bytes, 4 nibbles o 16 bits.
Un Word (palabra) es un conjunto de '''16 bits''' (2 bytes) del 0 al 15. Puede representar 2^16 = 0...65,536 valores (sin signo) o del -32,768..+32,767. Un word son = 2 bytes, 4 nibbles o 16 bits.
-
=='''double words'''==
+
==='''double words'''===
Un Double Word (doble palabra) representa el valor sin signo de 2^32 = 4,294,967,296 (sin signo) o -2,147,483,648..2,147,483,647 (con signo). Un doble word son = 2 word, 4 bytes, 8 nibbles, 32 bits.
Un Double Word (doble palabra) representa el valor sin signo de 2^32 = 4,294,967,296 (sin signo) o -2,147,483,648..2,147,483,647 (con signo). Un doble word son = 2 word, 4 bytes, 8 nibbles, 32 bits.
-
=Gráfica=
+
===Gráfica===
<pre>
<pre>
;0;                                Bit (1/0)
;0;                                Bit (1/0)
Line 31: Line 31:
;00000000;00000000;                Word
;00000000;00000000;                Word
;0000000000000000;0000000000000000; Double Word
;0000000000000000;0000000000000000; Double Word
 +
</pre>
 +
 +
==Little Indian==
 +
La memoria de la x86 utiliza el orden Little Indian, que significa que los valores llevan el byte menos significativo primero, esto se refiere al orden de los bytes y no los bits.
 +
 +
El valor hexadecimal AABBCCDD se representaría en la memoria de esta manera:
 +
<pre>
 +
;----;----;----;----;
 +
; DD ; CC ; BB ; AA ;
 +
;----;----;----;----;
 +
</pre>
 +
 +
==Complemento a Dos==
 +
 +
El complemento a dos es la forma estandar de representar números negativos y positivos en enteros binarios. El signo de un número se cambia al invertir todos sus dígitos y agregar uno.
 +
 +
Por ejemplo, para convertir el numero 1 a su negativo -1 hacemos:
 +
<pre>
 +
0001 = Numero 1
 +
1110 = Invertido
 +
1111 = Agregamos 1 = -1
</pre>
</pre>
<br>
<br>
<br>
<br>

Revision as of 15:30, 9 February 2007

Contents

Datos

Tipos de Datos

La computadora solo entiende los 1 y los 0, toda la memoria está formada por conjuntos de bits, sin embargo hay ciertas reglas que le permiten diferenciar entre código y datos, etc. Este tutorial no es sobre el funcionamiento del hardware sino mas bien sobre los tipos de datos que podemos usar.

bit

Esta es la unidad mínima. Representamos simbólicamente la presencia de un voltaje como 1 y su ausencia como 0. BIT es la abreviación de Binary Digit (Digito Binario).

nibble

Un Nibble es una colección de 4 bits. Puede representar 2^4 valores (1111 (binario) = 15) lo que significa que podemos representar hasta un numero hexadecimal = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

byte

Un byte es el dato menor que la computadora puede direccionar, eso quiere decir que toda la memoria está dividida en conjuntos de 16 bits (byte). Un byte es un conjunto de 2 nibble (8 bits). Los bits de un byte se numeran de esta forma: 7,6,5,4,3,2,1,0 siendo el 0 el bit de orden inferior (low order), y el bit 7 es el de orden superior (high order) también llamado bit más significante (most significant bit) del byte. Un byte requiere de dos hexadecimales (2 nibbles). Puede representar 2^8 = 256 valores sin signo (por ejemplo: los caracteres ascii). También puede representar del número -127...+128 (con signo).

word

Un Word (palabra) es un conjunto de 16 bits (2 bytes) del 0 al 15. Puede representar 2^16 = 0...65,536 valores (sin signo) o del -32,768..+32,767. Un word son = 2 bytes, 4 nibbles o 16 bits.

double words

Un Double Word (doble palabra) representa el valor sin signo de 2^32 = 4,294,967,296 (sin signo) o -2,147,483,648..2,147,483,647 (con signo). Un doble word son = 2 word, 4 bytes, 8 nibbles, 32 bits.

Gráfica

;0;                                 Bit (1/0)
;0000;                              Nible
;0000;0000;                         Byte
;00000000;00000000;                 Word
;0000000000000000;0000000000000000; Double Word

Little Indian

La memoria de la x86 utiliza el orden Little Indian, que significa que los valores llevan el byte menos significativo primero, esto se refiere al orden de los bytes y no los bits.

El valor hexadecimal AABBCCDD se representaría en la memoria de esta manera:

;----;----;----;----;
; DD ; CC ; BB ; AA ;
;----;----;----;----;

Complemento a Dos

El complemento a dos es la forma estandar de representar números negativos y positivos en enteros binarios. El signo de un número se cambia al invertir todos sus dígitos y agregar uno.

Por ejemplo, para convertir el numero 1 a su negativo -1 hacemos:

0001 = Numero 1
1110 = Invertido
1111 = Agregamos 1 = -1



Personal tools