Instrucciones del Compilador eWa de Idioma eWa

De Wiki~eWa
Revisión del 16:28 28 may 2009 de EnWILLYado (discusión | contribuciones) (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 ...)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegaciónIr a la búsqueda

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 (#). 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.

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