โš™๏ธVARIABLES Y CONSTANTES

Asignacion de Espacio de Almacenamiento para Datos Inicializados:

La sintaxis para la declaracion de asignacion es:

[variable-name]    Define-directiva    Initial-value    [,initial-value]

Donde, variable-name es el identificador de cada espacio de almacenamiento. Se asocia un valor de compensacion pada cada nombre de variable definido en el segmento de datos.

Hay cinco formas basicas :

Directive
Purpose
Storage Space

DB

Define Byte

allocates 1 byte

DW

Define Word

allocates 2 bytes

DD

Define Doubleword

allocates 4 bytes

DQ

Define Quadword

allocates 8 bytes

DT

Define Ten Bytes

allocates 10 bytes

Ejemplos de algunos de los usos de estas directivas:

choise        db    'y'
number        dw    12345
neg_number    dw    -12345
big_number    dq    123456789
real_number1  dd    1.234
real_number2  dq    123.456
  • Cada byte se almacena como su valor ASCII en hexadecimal.

  • Cada valor decimal se convierte automaticamente a su equivalente binario de 16 bits y se almacena como su numero hexadecimal .

  • El procesador utiliza el ordenamiento de bytes little-endian.

  • Los numeros negtivos se convierten en su representacion en complemento a 2.

  • Los numeros de punto flotante cortos y largos se representan usando 32 a 64 bits.

Asignacion de almacenamiento para datos no inicializados

Las directivas de reserva se utilizan para reservar espacio para datos no inicilaizados. Las directivas de reserva toman un solo operando que especifica el numero de unidades de espacio a reservar. Cada directiva de definicion tiene una reserva relacionada.

Hay cinco formas basicas:

Directive
Purpose

RESB

Reserve a Byte

RESW

Reserve a Word

RESD

Reserve a Doubleword

RESQ

Reserve a Quadword

REST

Reserve a Ten Bytes

Multiples Inicializaciones

La directiva TIMES permite ultiples inicializaciones al mismo valor,. Por ejemplo, una matriz denominada marcas de tamano 9 se puede definir e inicializar a 0 usando la siguiente declaracion:

La directiva TIMES es util para matrices y tablas. Por ejemplo:

Constantes

En esto tenemos tres directivas:

  • EQU

  • %assing

  • %define

EQU:

La directiva EQU se utiliza para definir constantes. La sintaxis de la directiva EQU es la siguiente:

Por ejemplo:

Luego puede usar este valor constante en el codigo, como:

El operador de una instruccion EQU puede ser una expresion:

El segmento de codigo anterior definiria AREA como 200.

Ejemplo:

Veamos el uso ilustrado de la directiva EQU:

%assing:

esta directiva se puede usar para definir constantes numericas como equ. esta directiva permite la redifinicion. Por ejemplo, puede definir la constante TOTAL:

Mas adelante en el codigo, puede redefinirlo:

%define

Esta directiva permite tanto constantes numericas como de cadena. Esta directiva es similar a #define en C. Por ejemplo, puede definir la constante PTR como:

El codigo anterior reemplazar PTR por [EBP+4].

Esta directiva tambien permite la redefinicion y distingue entre mayuscula y minuscula.

รšltima actualizaciรณn