Instruccion DEF SEG

Objetivo:

Asignar la dirección de segmento corriente para ser referida por subsecuente, BLOAD, BSAVE, CALL, PEEK, POKE, or USR.

Sintaxis:

DEF SEG [=address]

Comentarios:

address es una expresión numérica dentro de la gama de 0 a 65535.

La dirección especificado es grabada para el empleo como el segmento requerido por las instrucciones BLOAD, BSAVE, PEEK, POKE, and CALL statements.

La entrada de cualquier valor fuera de la gama de dirección (0-65535) causa un error "Illegal Function Call", y el valor anterior es conservado.

Si la opción de dirección es omitida, el segmento para ser usado es seteado en el segmento de datos del GW-BASIC's (DS). Esto es el valor predeterminado.

Si usted especifica la opción de dirección, lo basa en un límite de 16 octetos.

Las direcciones de segmento son cambiadas 4 bits a la izquierda; entonces para conseguir la dirección de segmento, divida la ubicación de memoria por 16.

Para BLOAD, BSAVE, PEEK, POKE, o CALL, el valor es cambiado cuatro añicos izquierdos (esto es hecho por el microprocesador, no por el GW-LENGUAJE-BASIC) para formar la dirección de segmento de código para la instrucción de llamada subsecuente (mirar instrucciones BLOAD, BSAVE, CALL, PEEK, y POKE ).

El GW-BASIC no realiza la comprobación adicional para asegurar que la dirección de segmento de resultado es válida.

Ejemplos:

10 DEF SEG=&HB800

Los juegos segmentan para proteger el parachoques.

20 DEF SEG

Restaura el segmento al  BASIC DS.


Nota

DEF y SEG debe ser separado por un espacio. De otra manera, el GW-BASIC interpretará la instruccion DEFSEG=100 para interpretar que, " asigne el valor 100 a la variable DEFSEG. "


1