Instrucción: LDS |
|||||||||
|
|||||||||
Código de Operación de 32 bit |
|||||||||
1001 |
000d | dddd | 0000 | ||||||
kkkk |
kkkk | kkkk | kkkk |
Operación: | Rd Ü (k) |
Operandos: | 0 £ d £ 31, 0 £ k £ 65535 |
Words: | 2 (4 bytes) |
Ciclos: | 2 |
Flags: | Ninguno |
Program Counter: | PC Ü PC + 2 |
Descripción: LDS carga un byte del espacio de datos a un registro. 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 LDS usa que 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 | ; Carga 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 |