Revistas en papel
 Amiga World Nº19 - Marzo 1991
Anterior
MenĂº
Logotipo
Sí puedes leer esta frase, la página ha sido actualizada.

El Amiga Me Encanta ha conseguido el permiso por escrito de IDG Comunications España
para ofrecer los artículos de la revista Amiga World España.

Las librerías del AMIGA

Por Francisco Javier Rodríguez

En esta nueva sección se verás todas las funciones de las librerías del Amiga. Dichas funciones son accesibles desde lenguajes como el C, Ensamblador o Basic, por lo cual la flexibilidad es total. Como ya sabrán, mediante la correspondiente programación, se pueden añadir librerías propias al sistema. En esta sección comentaremos todas las funciones del sistema, aunque también se publicarán todas aquellas que usted haya creado y desee insertarlas en este espacio. La sintaxis que se utilizará será la siguiente:

Sintaxis: el modo en el que se debe escribir en 'C' o el salto de llamada y los registros de parámetros en Ensamblador.

Descripción: Que es lo que realiza la función.

Parámetros: el significado de los parámetros.

EXEC Library.

La EXEC Library es la única que no precisa del comando Open-Library para acceder a esta, ya que en todo el sistema del Amiga es la única que posee un apuntador fijo en memoria; la dirección $4. A continuación pasaremos a comentar cada una de las funciones.

ADDTASK

Sintaxis:  AddTask (Task,  InitPC,  FinalPC)
  -282 A1 A2 A3

Descripción: Esta función instala una nueva tarea en el sistema.

Parámetros:  Task: Puntero a estructura de tarea.
  InitPC: Dirección inicial de la tarea.
  FinalPC: Dirección de retorno de la tarea.

REMTASK

Sintaxis:  RemTask (Task)
  -288 A1

Descripción: Esta función desaloja la tarea indicada del sistema.

Parámetros: Task: Puntero a la estructura de la tarea.


FINDTASK

Sintaxis:  Task  =  FindTask (Nombre)
  D0   -294 A1

Descripción: Esta función busca a través de la lista del sistema la tarea del nombre dado.

Parámetros:  Nombre: Puntero al nombre de la tarea.
  Task: Puntero donde se ha localizado la tarea, o cero si ha ocurrido un error.

SETTASKPRI

Sintaxis:  OldPriority  =  SetTaskPri (Task, Priority)
  D0   -300 A1 D0

Descripción: Esta función asigna a la tarea dada una nueva prioridad. El sistema recalculará los tiempos asignados a cada tarea, reservando la prioridad máxima al procesador.

Parámetros: Task: puntero a la tarea.
  Priority: Nueva prioridad para la tarea dada.

Resultado: OldPriority: Valor de la antigua prioridad que tenía la tarea.


SETSIGNAL

Sintaxis:  OldSignals  =  Setsignal  (NewSignals ,SignalSet)

Descripción: Se asigna una nueva señal para la tarea. El resultado de la señal es el cálculo de la máscara con el nuevo valor.

Parámetros:  NewSignal: valor de la nueva señal.
  SignalSet: Máscara para alterar la señal.

Resultado: OldSignal: Valor de la señal anterior.

NOTA ENCANTA: Esta ficha estaba incompleta de origen.


SETEXCEPT

Sintaxis:  OldSignals  =  SetExcept (NewSignals, SignalSet)
  D0   -312 D0 D1

Descripción: Esta función define que señales pueden generar una excepción.

Parámetros:  NewSignals: nueva señal de excepción.
  SignalSet: Máscara que especifica los bits de la señal que se deben alterar.

Resultado: OldSignal: Señal de la excepción anterior.


WAIT

Sintaxis:  Signals  =  Wait (SignalSet)
  D0   -318 D0

Descripción: Esta función espera hasta que suceden una o más señales. La señal se define en el estado Wait, ya que no consume tiempo de procesador.

Parámetro: SignalSet: Máscara que contiene las señales deseadas.

Resultado: Signals: Valor recibido con el contenido de la señal.


SIGNAL

Sintaxis:  Signal  (Task, SignalSet)
  -324 A1 D0

Descripción: Esta función envía una señal a otra tarea. Esta puede recogerse de la función Wait, que no requiere tiempo de procesador.

Parámetros: Task: tarea a la cual se debe enviar la señal.
  SignalSet: Máscara que contiene todos los bits que actuarán.

ALLOCSIGNAL

Sintaxis:  SignalNum  =  AllocSignal (SignalNum)
  D0   -330 D0

Descripción: Esta función se encarga de alojar una señal para una tarea. Cuando ninguna señal está libre, la rutina devolverá el valor -1.

Parámetros: SignalNum: número de la señal.

Resultado: SignalNum: Número de la señal alojada, o -1 si no se encuentra libre.


FREESIGNAL

Sintaxis:  FreeSignal (SignalNum)
  -336 D0

Descripción: Esta función libera una señal alojada por la función AllocSignal.

Parámetros: SignalNum: Número de la señal que se va a liberar.


ALLOCTRAP

Sintaxis:  TrapNum  =  AllocTrap (TrapNum)
  D0   -342 D0

Descripción: Esta función aloja una de las instrucciones Trap del 68000. Los valores que se pueden asignar se encuentran entre -1 y +15, si se asigna el valor -1 entonces el sistema alojará la siguiente instrucción Trap que se encuentre libre.

Parámetros: TrapNum: Número Trap a alojar.

Resultado: TrapNum: Número del Trap alojado ó -1 si no existe.


FREETRAP

Sintaxis:  FreeTrap (TrapNum)
  -348 D0

Descripción: Esta función libera un Trap alojado por AllocTrap.

Parámetro: TrapNum: número del Trap a liberar.


ADDPORT

Sintaxis:  AddPort  (Port)
  -354 A1

Descripción: Esta función inserta un nuevo puerto de mensajes en la lista del sistema.

Parámetro: Port: Puntero a la estructura de Puerto.


REMPORT

Sintaxis:  RemPort  (Port)
  -360 A1

Descripción: Esta función desaloja un puerto de mensajes de la lista del sistema. Tras la llamada a esta función la memoria será liberada.

Parámetro: Port: Puntero al puerto de mensajes.


PUTMSG

Sintaxis:  PutMsg  (Port,  Message)
  -366 A0 A1

Descripción: Esta función sitúa un mensaje en el puerto especificado. Será necesario definir el puntero al mensaje que se desee enviar.

Parámetros:  Port: Puntero a puerto de mensajes.
  Message: Puntero a la estructura del mensaje.

GETMSG

Sintaxis:  Message  =  GetMsg (Port)
  D0   -372 A0

Descripción: Esta función recoge el primer mensaje disponible del puerto de mensajes en la lista. Si no existe ningún mensaje, la llamada devolverá el resultado cero.

Parámetros: Port: Puntero al puerto de mensajes.

Resultado: Message: Puntero al primer mensaje del puerto. Un cero si no se encuentra ninguno.


REPLYMSG

Sintaxis:  ReplyMsg (Message)
  -378 A1

Descripción: Esta función envía un mensaje de respuesta sobre el mensaje recibido a través del puerto de mensajes.

Parámetros: Message: Puntero a la estructura de mensaje.


WAITPORT

Sintaxis:  Message  =  WaitPort (Port)
  D0   -38 A0

Descripción: Esta función espera a recibir un mensaje desde el puerto correspondiente.

Parámetros: Port: Puntero al puerto de mensajes.

Resultado: Message: Puntero a la estructura de mensaje recibida.


FINDNAME

Sintaxis:  Node  =  FindName (List,  Name)
  D0   -276 A0 A1

Descripción: Esta función busca, en la lista específicada, el nodo correspondiente con el nombre dado. Se devuelve un puntero a la estructura de dicho nodo.

Parámetro:  List: Puntero a la lista en la que se debe buscar.
  Name: Puntero a la cadena del nombre.

Resultado: Node: Puntero al nodo encontrado, o cero si ocurre algún error.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal