|
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. |
|