Diferencia entre revisiones de «Lenguaje eWamblador»

De Wiki~eWa
Ir a la navegaciónIr a la búsqueda
m
m
Línea 7: Línea 7:
 
==== PUNTEROS ====
 
==== PUNTEROS ====
  
* De punteros
+
* De punteros
 
  wit; // selecciona el puntero Actual
 
  wit; // selecciona el puntero Actual
 
  witQ; // selecciona puntero Q
 
  witQ; // selecciona puntero Q
Línea 14: Línea 14:
 
  witT; // selecciona puntero T
 
  witT; // selecciona puntero T
  
* De página
+
* De página
 
  ''wit''x; // selecciona el wit actual del puntero ''Actual''
 
  ''wit''x; // selecciona el wit actual del puntero ''Actual''
 
  ''wit''0; // selecciona el wit 0 del puntero ''Actual''
 
  ''wit''0; // selecciona el wit 0 del puntero ''Actual''
Línea 28: Línea 28:
 
  // por ejemplo ''witT''7;
 
  // por ejemplo ''witT''7;
  
* De componente
+
* De componente
 
  ''witx''[0]; // selecciona la componente 0 del ''wit actual del puntero Actual''
 
  ''witx''[0]; // selecciona la componente 0 del ''wit actual del puntero Actual''
 
  ''witx''[1]; // selecciona la componente 1 del ''wit actual del puntero Actual''
 
  ''witx''[1]; // selecciona la componente 1 del ''wit actual del puntero Actual''
Línea 41: Línea 41:
 
// por ejemplo ''witT7''[3];
 
// por ejemplo ''witT7''[3];
  
* De componente absoluta
+
* De componente absoluta
''wit''[0]; // selecciona la componente 0 del puntero ''Actual''
+
''wit''[0]; // selecciona la componente 0 del puntero ''Actual''
''wit''[1]; // selecciona la componente 1 del puntero ''Actual''
+
''wit''[1]; // selecciona la componente 1 del puntero ''Actual''
 
+
...     // Entre corchetes: 2,3,...,9,10,11,12,...,61,62
...     // Entre corchetes: 2,3,...,9,10,11,12,...,61,62
+
''wit''[63]; // selecciona la componente 63 del puntero ''Actual''
 
+
// valdría lo mismo cambiando ''wit'' por
''wit''[63]; // selecciona la componente 63 del puntero ''Actual''
+
// cualquiera de los [[wits de selección]].
// valdría lo mismo cambiando ''wit'' por
+
// por ejemplo ''witT''[33];
// cualquiera de los [[wits de selección]].
 
// por ejemplo ''witT''[33];
 
  
 
==== MEMORIA ====
 
==== MEMORIA ====
Línea 63: Línea 61:
 
==== PUNTEROS ====
 
==== PUNTEROS ====
  
* Suma de punteros
+
* Suma de punteros
''wit'' + ''witS''; // selecciona el valor resultante de la suma del valor del
+
''wit'' + ''witS''; // selecciona el valor resultante de la suma del valor del
// puntero ''Actual''' más el puntero '''witS'''
+
// puntero ''Actual''' más el puntero '''witS'''
''wit'' + '''valor'''; // selecciona el valor resultante de la suma del valor
+
''wit'' + '''valor'''; // selecciona el valor resultante de la suma del valor
// del puntero ''Actual'' más el [[valor]] dado
+
// del puntero ''Actual'' más el [[valor]] dado
  
* Diferencia de punteros
+
* Diferencia de punteros
 
''witS'' - ''witR''; // selecciona el valor resultante de la resta  del valor del
 
''witS'' - ''witR''; // selecciona el valor resultante de la resta  del valor del
 
// puntero S menos el puntero '''witR'''
 
// puntero S menos el puntero '''witR'''
Línea 75: Línea 73:
 
// del puntero S menos el [[valor]] dado
 
// del puntero S menos el [[valor]] dado
  
* Producto de punteros
+
* Producto de punteros
 
''witS'' * ''witR''; // selecciona el valor resultante de la multiplicación del
 
''witS'' * ''witR''; // selecciona el valor resultante de la multiplicación del
 
// valor del puntero S por el puntero '''witR'''
 
// valor del puntero S por el puntero '''witR'''
Línea 81: Línea 79:
 
// valor del puntero S por el [[valor]] dado
 
// valor del puntero S por el [[valor]] dado
  
* Cociente de punteros
+
* Cociente de punteros
 
''witS'' / ''wit''; // selecciona el valor resultante de la resta  del valor del
 
''witS'' / ''wit''; // selecciona el valor resultante de la resta  del valor del
 
// puntero S menos el puntero '''Actual'''
 
// puntero S menos el puntero '''Actual'''
Línea 95: Línea 93:
 
==== PUNTEROS ====
 
==== PUNTEROS ====
  
* Se pueden asignar copias de punteros completos, constantes o expresiones de 64 bits
+
* Se pueden asignar copias de punteros completos, constantes o expresiones de 64 bits
 
witS = wit; // copia el puntero Actual en el puntero S
 
witS = wit; // copia el puntero Actual en el puntero S
 
wit = witR; // copia el puntero R en el puntero Actual
 
wit = witR; // copia el puntero R en el puntero Actual
Línea 125: Línea 123:
 
   (en caso de que la expresión de 64 bits sea menor, se añadirán tantos [[bits de mayor peso]] como sea necesario)
 
   (en caso de que la expresión de 64 bits sea menor, se añadirán tantos [[bits de mayor peso]] como sea necesario)
  
* Se pueden asignar copias de páginas de punteros, constantes o expresiones 8 bits
+
* Se pueden asignar copias de páginas de punteros, constantes o expresiones 8 bits
wit
+
wit
  
  
* Se pueden asignar copias de componentes de punteros, constantes o expresiones 1 bits
+
* Se pueden asignar copias de componentes de punteros, constantes o expresiones 1 bits
witx[]
+
witx[]
  
  
  * Se pueden asignar copias de componentes absolutas de punteros, constantes o expresiones 1 bits
+
  * Se pueden asignar copias de componentes absolutas de punteros, constantes o expresiones 1 bit
 
wit[32] = 1; // pone la componente absoluta 32 del puntero Actual a 1;
 
wit[32] = 1; // pone la componente absoluta 32 del puntero Actual a 1;
 
wit[21] = witS[1]; // pone la componente absoluta 21 del puntero Actual al valor de la componente
 
wit[21] = witS[1]; // pone la componente absoluta 21 del puntero Actual al valor de la componente
Línea 144: Línea 142:
 
==== MEMORIA ====
 
==== MEMORIA ====
  
*
+
* Se pueden asignara constrantes o expresiones de 1 bit
 +
['''puntero'''] = 1

Revisión del 18:39 27 may 2008

El eWamblador es el lenguaje más básico de programación en la RedeWa, a excepción de los escasamente abstractos lenguajes de Binarios (0 y 1) y de Mnemónicos (0, 1, 2..., C, D, E, y F) y, sin duda, el menos abstracto de los entendibles por Humanos.

Instrucciones del eWamblador

Las selecciones

PUNTEROS

  • De punteros
wit; // selecciona el puntero Actual
witQ; // selecciona puntero Q
witR; // selecciona puntero R
witS; // selecciona puntero S
witT; // selecciona puntero T
  • De página
witx; // selecciona el wit actual del puntero Actual
wit0; // selecciona el wit 0 del puntero Actual
wit1; // selecciona el wit 1 del puntero Actual
wit2; // selecciona el wit 2 del puntero Actual
wit3; // selecciona el wit 3 del puntero Actual
wit4; // selecciona el wit 4 del puntero Actual
wit5; // selecciona el wit 5 del puntero Actual
wit6; // selecciona el wit 6 del puntero Actual
wit7; // selecciona el wit 7 del puntero Actual
// valdría lo mismo cambiando wit por
// cualquiera de los wits de selección
// por ejemplo witT7;
  • De componente
witx[0]; // selecciona la componente 0 del wit actual del puntero Actual
witx[1]; // selecciona la componente 1 del wit actual del puntero Actual
witx[2]; // selecciona la componente 2 del wit actual del puntero Actual
witx[3]; // selecciona la componente 3 del wit actual del puntero Actual
witx[4]; // selecciona la componente 4 del wit actual del puntero Actual
witx[5]; // selecciona la componente 5 del wit actual del puntero Actual
witx[6]; // selecciona la componente 6 del wit actual del puntero Actual
witx[7]; // selecciona la componente 7 del wit actual del puntero Actual
// valdría lo mismo cambiando witx por
// cualquiera de los wits de página.

// por ejemplo witT7[3];

  • De componente absoluta
wit[0]; // selecciona la componente 0 del puntero Actual
wit[1]; // selecciona la componente 1 del puntero Actual
...	    // Entre corchetes: 2,3,...,9,10,11,12,...,61,62
wit[63]; // selecciona la componente 63 del puntero Actual
// valdría lo mismo cambiando wit por
// cualquiera de los wits de selección.
// por ejemplo witT[33];

MEMORIA

[puntero]; // selecciona el valor booleano que apunta el puntero


Las operaciones/expresiones

PUNTEROS

  • Suma de punteros
wit + witS; // selecciona el valor resultante de la suma del valor del
// puntero Actual' más el puntero witS
wit + valor; // selecciona el valor resultante de la suma del valor
// del puntero Actual más el valor dado
  • Diferencia de punteros

witS - witR; // selecciona el valor resultante de la resta del valor del // puntero S menos el puntero witR witS - valor; // selecciona el valor resultante de la resta del valor // del puntero S menos el valor dado

  • Producto de punteros

witS * witR; // selecciona el valor resultante de la multiplicación del // valor del puntero S por el puntero witR witS * valor; // selecciona el valor resultante de la multiplicación del // valor del puntero S por el valor dado

  • Cociente de punteros

witS / wit; // selecciona el valor resultante de la resta del valor del // puntero S menos el puntero Actual witR / valor; // selecciona el valor cociente de la división natural del // valor del puntero R entre el valor dado




Las asignaciones

PUNTEROS

  • Se pueden asignar copias de punteros completos, constantes o expresiones de 64 bits

witS = wit; // copia el puntero Actual en el puntero S wit = witR; // copia el puntero R en el puntero Actual witS = witQ; // copia el puntero Q en el puntero S

witR = 1x20A1; // pone el puntero R apuntando a la posición hexadecimal 1...1120A1 witR = 0b1011; // pone el puntero R apuntando a la posición binaria 0...0000001011 witR = 0.0134; // pone el puntero R apuntando a la posición decimal 0...0000000134 (interamente hace siempre las conversiones a binario)

wit = witS+0b110; // pone el puntero Actual a la posición 0b110 veces siguiente a la // que apunta el puntero S wit = wit+0x120; // pone el puntero Actual a la posición 0x120 veces siguiente a la Actual wit += 2; // similar a la anterior, pone el valor Actual apuntando a la dos veces siguiente // posición de memoria wit ++; // similar a las dos anteriores, pone el valor Actual apuntando a la siguiente // posición de memoria

wit = witS-0b110; // pone el puntero Actual a la posición 0b110 veces siguiente a la // que apunta el puntero S wit = wit-0x120; // pone el puntero Actual a la posición 0x120 veces anterior a la Actual wit -= 2; // similar a la anterior, pone el valor Actual apuntando a la dos veces anterior // posición de memoria wit --; // similar a las dos anteriores, pone el valor Actual apuntando a la anterior // posición de memoria


  (en caso de que la expresión de 64 bits sea mayor, se seleccionarán los 64 bits de menor peso)
  (en caso de que la expresión de 64 bits sea menor, se añadirán tantos bits de mayor peso como sea necesario)
  • Se pueden asignar copias de páginas de punteros, constantes o expresiones 8 bits
wit


  • Se pueden asignar copias de componentes de punteros, constantes o expresiones 1 bits
witx[]


* Se pueden asignar copias de componentes absolutas de punteros, constantes o expresiones 1 bit

wit[32] = 1; // pone la componente absoluta 32 del puntero Actual a 1; wit[21] = witS[1]; // pone la componente absoluta 21 del puntero Actual al valor de la componente // absuluta 1 de la wit[21] = witS1[1]; // pone la componente absoluta 21 del puntero Actual al valor de la componente // 1 de la página 1 del puntero S witR[1] = 1-wit[1];


MEMORIA

  • Se pueden asignara constrantes o expresiones de 1 bit

[puntero] = 1