Instrucción: STS |
||||||
|
||||||
Código de Operación de 32 bit |
|||
1001 |
001d | dddd | 0000 |
kkkk |
kkkk | kkkk | kkkk |
Operación: | (k) Ü Rr |
Operandos: | 0 £ r £ 31, 0 £ k £ 65535 |
Words: | 2 (4 bytes) |
Ciclos: | 2 |
Flags: | Ninguno |
Program Counter: | PC Ü PC + 2 |
Descripción: STS Guarda un byte de un registro al espacio de datos. Para los dispositivos con SRAM, el espacio de datos está compuesto por el archivo de registro, memoria de I/O y SRAM interna (y SRAM externa si es aplicable). Para los dispositivos sin SRAM, el espacio de datos está compuesto sólo por el archivo de registro. La EEPROM tiene un espacio de direcciones separado. Debe proporcionarse una dirección de 16-bit. Se limita el acceso de memoria al segmento de datos de 64K bytes. La instrucción STS usa el registro RAMPD para acceder a memoria por encima de los 64K bytes. Para acceder a otro segmento de datos en dispositivos con más de 64K bytes de espacio de datos, el RAMPD en el área de I/O tiene que ser cambiado. |
|
Ejemplo: |
|
LDS r2,$FF00 | ; Cargar r2 con el contenido de la posición $FF00 |
; del espacio de datos | |
ADD r2,r1 |
; Sumar r1 a r2 |
STS $FF00,r2 | ; Escribir en SRAM |