Función de USR

Propósito:

Para llamar un subprograma del lenguaje ensamblador.

Sintaxis:

  v  =  USR  [  n  ] ( discusión )

Comentarios:

n especifica qué USR se está llamando la rutina.

discusión puede ser cualquier expresión numérica o de la secuencia.

Aunque la LLAMADA la declaración se recomienda para llamar los subprogramas del lenguaje ensamblador, el USR la llamada de la función puede también ser utilizada. Vea el apéndice D en la guía del usuario Gw-ba'sico para una comparación de la LLAMADA y USR y para una discusión detallada de llamar subprogramas del lenguaje ensamblador.

Solamente los valores 0-9 son válidos para n . Si n se omite, USR0 se asume (véase DEF USR para las reglas que gobiernan n

Si un segmento con excepción del segmento del defecto (segmento de datos Gw-ba'sico, DS) se utiliza, un DEF SEG la declaración se debe ejecutar antes de un USR llamada. Esto se asegura de que el segmento de código señale al subprograma que es llamado.

La dirección del segmento dada en el DEF SEG la declaración determina el segmento que comienza del subprograma.

Para cada USR función, un DEF correspondiente USR la declaración se debe haber ejecutado para definir el USR compensación de la llamada. Esta compensación y el DEF actualmente activo SEG la dirección del segmento determina la dirección que comienza del subprograma.

Si se requieren más de 10 rutinas de usuario, el value(s) de DEF USR se puede redefinir para las otras direcciones el comenzar tantas veces tan necesarias.

El tipo (numérico o secuencia) de la variable que recibe la llamada de la función debe ser constante con la discusión pasada. Si no se requiere ninguna discusión por la rutina del lenguaje ensamblador, después una discusión simulada debe ser provista.

 

USR Function

Purpose:

To call an assembly language subroutine.

Syntax:

v=USR[n](argument)

Comments:

n specifies which USR routine is being called.

argument can be any numeric or string expression.

Although the CALL statement is recommended for calling assembly language subroutines, the USR function call may also be used. See Appendix D in the GW-BASIC User's Guide for a comparison of CALL and USR and for a detailed discussion of calling assembly language subroutines.

Only values 0-9 are valid for n. If n is omitted, USR0 is assumed (see DEF USR for the rules governing n).

If a segment other than the default segment (GW-BASIC data segment, DS) is used, a DEF SEG statement must be executed prior to a USR call. This ensures that the code segment points to the subroutine being called.

The segment address given in the DEF SEG statement determines the starting segment of the subroutine.

For each USR function, a corresponding DEF USR statement must have been executed to define the USR call offset. This offset and the currently active DEF SEG segment address determine the starting address of the subroutine.

If more than 10 user routines are required, the value(s) of DEF USR may be redefined for the other starting addresses as many times as needed.

The type (numeric or string) of the variable receiving the function call must be consistent with the argument passed. If no argument is required by the assembly language routine, then a dummy argument must be supplied.

1