BYTE
– Referencia de Lenguaje Spin
Para mayor explicación de como se acomodan los datos en memoria, ver la sección de
Declaración de Data(Sintaxis 1) en Pág. 103.
Una Referencia de Memoria Alternativa
Hay aun otra forma de accesar los datos del código mostrado arriba; usted puede referenciar
los símbolos de datos directamente. Por ejemplo, esta sentencia lee el primer byte de la lista
MyData
:
Temp := MyData[0]
Y estas sentencias leen el Segundo y tercer byte de
Temp := MyData[1]
Temp := MyData[2]
Otro Fenómeno de Direccionamiento
BYTE
Ambas técnicas
y referencia de símbolo directo demostradas pueden usarse para accesar
cualquier localidad en memoria principal sin importar como se relaciona a los datos
definidos, aquí se muestran unos ejemplos:
Temp := byte[@MyStr][-1]
Temp := byte[@MyData][3]
Temp := MyStr[-3]
Temp := MyData[-2]
MyData
Estos ejemplos van mas allá de las fronteras lógicas (punto inicial y punto final) de la lista de
datos a los que referencia. Puede ser un truco útil, pero con mayor frecuencia se hace por
error; sea cuidadoso al direccionar memoria, especialmente si esta escribiendo a esa memoria.
Accesando Bytes de Símbolos de Mayor Tamaño (Sintaxis 4)
PUB
PRI
En bloques
y
, la sintaxis 4 de
de tamaño Byte de tamaño Word o tamaño Long. Por ejemplo:
VAR
word WordVar
long LongVar
PUB Main
WordVar.byte := 0
WordVar.byte[0] := 0
Pagina 58 · Manual Propeller v1.1
MyData
:
'Lee ultimo Byte de MyData (antes MyStr)
'Lee primer Byte de MyStr (despues MyData)
'Lee primer byte de MyData
'Lee el byte que esta dos bytes antes de
BYTE
se usa para leer o escribir componentes variables
'Activa el primer byte de WordVar a 0
'Igual que arriba
DAT