Diferencia entre revisiones de «Instrucciones del Compilador eWa de Idioma eWa»

De Wiki~eWa
Ir a la navegaciónIr a la búsqueda
m (Página nueva: Gracias a las Instrucciones del Compilador de Idioma eWa, en el '''Lenguaje eWamblador''' se permiten reservar varios de los recursos de un Sistema Informático. Los recursos ...)
 
m
Línea 1: Línea 1:
Gracias a las [[Instrucciones del Compilador de Idioma eWa]], en el '''Lenguaje eWamblador''' se permiten reservar varios de los recursos de un [[Sistema Informático]]. Los recursos que se pueden reservar son los registros '''89ABCDEF''' de la [[CPU]], los '''punteros'''/registros de la [[ABU]], o direcciones o bloques del [[Bus de Direcciones]]. También, permite crear '''alias''' de estas reservas y varias cosas más.
+
La sintaxis de las [[Instrucciones del Compilador de Idioma eWa]] se define como '''expresiones que empiezan por el símbolo almohadilla (''#'')'''. Estas Instrucciones están disponibles en cualquier [[lenguaje]] que implemente el [[Idioma eWa]]: [[Lenguaje eWamblador]], [[Lenguaje eWa]] o [[Lenguaje eWa++]].
  
La sintaxis de las [[Instrucciones del Compilador de Idioma eWa]] se define como '''expresiones que empiezan por el símbolo almohadilla (''#'')'''. Al usarse en tiempo de compilación, no es posible usar el '''wit''' ('''puntero actual'''), el '''wit[*]''' ('''página actual''') o cualquier estructura dependiente de la ejecución. En este caso lo que se referenciará será '''un recurso similar a ese''', por ejemplo, el uso de '''wit''' reservará un puntero que no esté reservado.
+
Su característica básica es que es el ''culpable'' de la creación de los tipos de datos (objetos), de la declaración de variables (instancias) y funciones, además de reservar y liberar de recursos de bajo nivel.
  
 
=== Reservar recursos ===
 
=== Reservar recursos ===

Revisión del 16:31 28 may 2009

La sintaxis de las Instrucciones del Compilador de Idioma eWa se define como expresiones que empiezan por el símbolo almohadilla (#). Estas Instrucciones están disponibles en cualquier lenguaje que implemente el Idioma eWa: Lenguaje eWamblador, Lenguaje eWa o Lenguaje eWa++.

Su característica básica es que es el culpable de la creación de los tipos de datos (objetos), de la declaración de variables (instancias) y funciones, además de reservar y liberar de recursos de bajo nivel.

Reservar recursos

La expresión reservar, que se puede asemejar a la de declarar variables de los lenguajes de más alto nivel, es realmente útil no solo para crear alias de recursos, si no para verificar las colisiones de reservas: si se reserva un recurso y luego se vuelve a reservar otro sin haberlo liberado anteriormente, el eWamblador dará un aviso. Las librerías estándares suelen incorporar condicionales para revisar si estos recursos están o no reservados, tanto con ese nombre como con otro.

#reservar alias recurso
#reservar espacioA bus[0x01.00]0xFF // esto creará un alias llamado espacioA que reservará
                                    // 0xFF direcciones desde la 0x1.00 del Bus
#reservar espacioB bus[]0xFF   // esto creará un alias llamado espacioB que reservará
                               // 0xFF direcciones (bits) desde un sitio libre

#reservar espacioC witQ[1]  // esto creará un alias llamado espacioC que reservará
                            // los 8 bits de la página 1 del puntero Q

Liberar recursos

La expresión liberar se usa para liberar recursos, pero sin eliminar el alias.

#liberar alias
#liberar espacioA // esto liberará el recurso espacioA
#liberar espacioB // esto liberará el recurso espacioB

Crear alias

La expresión alias se usa para declarar alias pero sin reservar los recursos que usa. Es útil para utilizarse en entornos compartidos seguros monoprogramados en donde no es necesario andarse preocupando de la modificación de recursos o se desea compartir. Por ejemplo es muy útil para crear alias de los CUWs o posiciones concretas del Sistema Informático.

#alias alias recurso
#alias espacioA [0x01.00]0xFF // esto creará un alias llamado espacioA de
                              // 0xFF direcciones desde la 0x1.00 del Bus

#alias espacioB witQ[]0xFF // esto creará un alias llamado espacioB de
                           // 0xFF direcciones desde la 0x1.00 del Bus