Académique Documents
Professionnel Documents
Culture Documents
Breve descripcin
ADR
36
CLREX
Claro exclusiva
52
LDM {modo}
46
LDR {tipo}
37
LDR {tipo}
LDR {tipo} T
42
LDR {tipo}
44
LDRD
44
LDREX {tipo}
50
POP
48
EMPUJAR
48
STM {modo}
46
STR {tipo}
37
STR {tipo}
40
STR {tipo} T
42
STREX {tipo}
50
04 de noviembre 2011
Consulte la pgina
40
35
Texas Instruments Incorporated
2.1
ADR
Generar direccin-PC relativa.
M3
Se aplica a los ...
2.1.1
M4
M4F
Sintaxis
ADR {cond} Rd, etiqueta
donde:
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
Rd
Es el registro de destino.
etiqueta
Es una expresin de PC relativa. Consulte "Expresiones en PC relativa" en la pgina 32.
2.1.2
Operacin
ADR determina la direccin mediante la adicin de un valor inmediato a la PC, y escribe el resultado a la
registro de destino.
ADR produce cdigo independiente de la posicin, ya que la direccin es-PC relativa.
Si utiliza ADR para generar una direccin de destino para una BX o BLX sentencia, hay que asegurarse de que poco
[0]
de la direccin se genera se establece en 1 para la correcta ejecucin.
Los valores de etiqueta debe estar dentro del rango de -4095-4.095 de la direccin en el PC.
Nota:
2.1.3
Puede que tenga que utilizar el .W sufijo para obtener el rango mximo de compensacin o para
generar
direcciones que no estn alineados por palabras. Consulte "Instruccin Anchura seleccin" en la
pgina 34.
Restricciones
2.1.4
Indicadores de condicin
Esta instruccin no cambia las banderas.
2.1.5
Ejemplos
ADR
R1, TextMessage
36
04 de noviembre 2011
Texas Instruments Incorporated
2.2
2.2.1
M4
M4F
Sintaxis
op {tipo} {cond} Rt, [Rn {, #offset}]
; compensado inmediata
; pre-indexados
; puesto indexada
donde:
op
Es uno de:
LDR
Cargar en el Registro.
STR
Guarde Registro.
tipo
Es uno de:
B
Byte sin signo, cero se extienden a 32 bits en las cargas.
SB
Firmado byte, signo extiende a 32 bits (LDR solamente).
H
Media palabra sin signo, cero se extienden a 32 bits en las
cargas.
SH
Firmado media palabra, signo extiende a 32 bits (LDR
solamente).
Omite, por palabra.
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
04 de noviembre 2011
37
Texas Instruments Incorporated
Rt
Es el registro para cargar o almacenar.
Rn
Es el registro en el que se basa la direccin de memoria.
offset
Es un desplazamiento desde Rn. Si offset se omite, la direccin es el contenido de Rn.
Rt2
Es el registro adicional para cargar o almacenar para las operaciones de dos
palabras.
2.2.2
Operacin
LDR instrucciones cargan uno o dos registros con un valor de la memoria.
STR instrucciones almacenar uno o dos valores de registro en la memoria.
Cargar y almacenar instrucciones con compensacin inmediata pueden utilizar los siguientes modos de
direccionamiento:
Offset abordar
El valor de desplazamiento se suma o resta de la direccin obtenida del registro Rn. La
resultado se utiliza como la direccin para el acceso a la memoria. El registro Rn es inalterada. El conjunto
la sintaxis del lenguaje de este modo es:
[Rn, #offset]
Pre-direccionamiento indexado
El valor de desplazamiento se suma o resta de la direccin obtenida del registro Rn. La
resultado se utiliza como la direccin para el acceso a la memoria y escribe de nuevo en el registro Rn. La
sintaxis del lenguaje ensamblador para este modo es:
[Rn, #offset]!
Publicar un ndice de direccionamiento
La direccin obtenida del registro Rn se utiliza como la direccin para el acceso a la memoria. La
valor de desplazamiento se suma o resta de la direccin, y se escribe de nuevo en el registro Rn.
La sintaxis del lenguaje ensamblador para este modo es:
[Rn], #offset
El valor de la carga o la tienda puede ser un byte, media palabra, una palabra o dos palabras. Bytes y medias
palabras podrn revestir
o bien ser con o sin signo. Consulte "Alineacin de direcciones" en la pgina 31.
Tabla 2-2 en la pgina 38 muestra los rangos de desplazamiento para inmediata, pre-indexado y post-indexados
formas.
Tabla 2-2. Offset Rangos
Tipo de instruccin
Offset Inmediata
Pre-indexado
Publicar indexado-
-255 A 255
-255 A 255
Dos palabras
Mltiplo de 4 en el rango
-1020-1020
Mltiplo de 4 en el rango
-1020-1020
Mltiplo de 4 en el rango
-1020-1020
38
04 de noviembre 2011
Texas Instruments Incorporated
2.2.3
Restricciones
Para obtener instrucciones de
carga:
Rt puede ser SP o Ordenador personal para slo
cargas de palabras.
Rt debe ser diferente de Rt2 para cargas de dos palabras.
Rn debe ser diferente de Rt y Rt2 en las formas pre-indexados o post indexado.
Cundo Rt es Ordenador personal en una instruccin
de carga palabra:
Bit [0] del valor cargado debe ser 1 para la ejecucin correcta.
Una rama se produce a la direccin creada cambiando poco [0] del valor cargado a 0.
Si la instruccin es condicional, debe ser la ltima instruccin en el Informtica bloque.
Para almacenar instrucciones:
Rt puede ser SP slo para tiendas de palabras.
Rt no debe ser PC.
Rn no debe ser PC.
Rn debe ser diferente de Rt y Rt2 en las formas pre-indexados o post indexado.
2.2.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.2.5
Ejemplos
LDR
LDRNE
R8, [R10]
R2, [R5, # 960]!
STR
STRH
R3, [R4], # 4
LDRD
Strd
;
;
;
;
;
;
;
;
;
;
;
;
;
;
04 de noviembre 2011
39
Texas Instruments Incorporated
2.3
2.3.1
M4
M4F
Sintaxis
op {tipo} {cond} Rt, [Rn, Rm {, LSL # n}]
donde:
op
Es uno de:
LDR
Cargar en el Registro.
STR
Guarde Registro.
tipo
Es uno de:
B
Byte sin signo, cero se extienden a 32 bits en las cargas.
SB
Firmado byte, signo extiende a 32 bits (LDR solamente).
H
Media palabra sin signo, cero se extienden a 32 bits en las
cargas.
SH
Firmado media palabra, signo extiende a 32 bits (LDR
solamente).
Omite, por palabra.
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
Rt
Es el registro para cargar o almacenar.
Rn
Es el registro en el que se basa la direccin de memoria.
Rm
Es un registro que contiene un valor que se utilizar como el
desplazamiento.
LSL #n
Es un cambio opcional, con nen el rango de 0 a 3.
40
04 de noviembre 2011
Texas Instruments Incorporated
2.3.2
Operacin
LDR operaciones cargan un registro con un valor de la memoria.
STR instrucciones almacenan un valor de registro en la memoria.
La direccin de memoria para cargar desde o almacenar a que est en un desplazamiento desde el registro
Rn. El desplazamiento es
especificada por el registro Rm y se puede desplazar a la izquierda por un mximo de 3 bits utilizando LSL.
El valor de la carga o la tienda puede ser un byte, media palabra, o una palabra. Para obtener instrucciones de
carga, bytes y medias palabras
o bien se puede con o sin signo. Consulte "Alineacin de direcciones" en la pgina 31.
2.3.3
Restricciones
En estas instrucciones:
Rn no debe ser PC.
Rm no debe ser SP y no deben ser PC.
Rt puede ser SP slo para cargas de palabras y tiendas de
palabras.
Rt puede ser Ordenador personal slo para
cargas de palabras.
Cundo Rt es Ordenador personal en una instruccin
de carga palabra:
Bit [0] del valor cargado debe ser 1 para la ejecucin correcta, y una rama se produce a esta
direccin media palabra-alineado.
Si la instruccin es condicional, debe ser la ltima instruccin en el Informtica bloque.
2.3.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.3.5
Ejemplos
STR
LDRSB
STR
04 de noviembre 2011
41
Texas Instruments Incorporated
2.4
2.4.1
M4
M4F
Sintaxis
op {tipo} T {cond} Rt, [Rn {, #offset}]
; compensado inmediata
donde:
op
Es uno de:
LDR
Cargar en el Registro.
STR
Guarde Registro.
tipo
Es uno de:
B
Byte sin signo, cero se extienden a 32 bits en las cargas.
SB
Firmado byte, signo extiende a 32 bits (LDR solamente).
H
Media palabra sin signo, cero se extienden a 32 bits en las
cargas.
SH
Firmado media palabra, signo extiende a 32 bits (LDR
solamente).
Omite, por palabra.
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
Rt
Es el registro para cargar o almacenar.
Rn
Es el registro en el que se basa la direccin de memoria.
offset
Es un desplazamiento desde Rn y puede ser de 0 a 255. Si offset se omite, la direccin es el valor en Rn.
42
04 de noviembre 2011
Texas Instruments Incorporated
2.4.2
Operacin
Estas instrucciones de carga y almacenamiento realizan la misma funcin que las instrucciones de acceso a
memoria
con compensacin inmediata (ver "LDR y STR (inmediata Offset)" en la pgina 37). La diferencia es que
estas instrucciones slo tienen un acceso sin privilegios, incluso cuando se utiliza en software privilegiada.
Cuando se utiliza en software sin privilegios, estas instrucciones se comportan exactamente de la misma manera
como normales
instrucciones de acceso a memoria con compensacin inmediata.
2.4.3
Restricciones
En estas instrucciones:
Rn no debe ser PC.
Rt no debe ser SP y no deben ser PC.
2.4.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.4.5
Ejemplos
STRBTEQ
R4, [R7]
LDRHT
R2, [R2, # 8]
;
;
;
;
04 de noviembre 2011
43
Texas Instruments Incorporated
2.5
LDR (PC-Relativo)
Cargar registrar desde la memoria.
M3
Se aplica a los ...
2.5.1
M4
M4F
Sintaxis
LDR {tipo} {cond} Rt, etiqueta
LDRD {cond} Rt, Rt2, etiqueta
donde:
tipo
Es uno de:
B
Byte sin signo, cero se extiende a 32 bits.
SB
Firmado byte, signo extiende a 32 bits.
H
Media palabra sin signo, cero se extiende a 32 bits.
SH
Firmado media palabra, signo extiende a 32 bits.
Omite, por palabra.
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
Rt
Es el registro para cargar o almacenar.
Rt2
Es el segundo registro para cargar o almacenar.
etiqueta
Es una expresin de PC relativa. Consulte "Expresiones en PC relativa" en la pgina 32.
2.5.2
Operacin
LDR carga un registro con un valor de una direccin de memoria PC-relativa. La direccin de memoria es
especificado por una etiqueta o un desplazamiento desde el PC.
El valor de la carga o la tienda puede ser un byte, media palabra, o una palabra. Para obtener instrucciones de
carga, bytes y medias palabras
o bien se puede con o sin signo. Consulte "Alineacin de direcciones" en la pgina 31.
etiqueta debe estar dentro de una gama limitada de la instruccin actual. Tabla 2-3 en la pgina 45 muestra la
posibles compensaciones entre etiqueta y el PC.
44
04 de noviembre 2011
Texas Instruments Incorporated
Offset Rango
Word, media palabra, media palabra firmada, byte, byte con signo
-4095-4.095
Dos palabras
-1020-1020
un
a. Puede que tenga que utilizar el .W sufijo para obtener el rango de desplazamiento mximo. Consulte "Instruccin Anchura seleccin" en la
pgina 34.
2.5.3
Restricciones
En estas instrucciones:
Rt puede ser SP o Ordenador personal slo para
cargas de palabras.
Rt2 no debe ser SP y no deben ser PC.
Rt debe ser diferente de Rt2.
Cundo Rt es Ordenador personal en una instruccin
de carga palabra:
Bit [0] del valor cargado debe ser 1 para la ejecucin correcta, y una rama se produce a esta
direccin media palabra-alineado.
Si la instruccin es condicional, debe ser la ltima instruccin en el Informtica bloque.
2.5.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.5.5
Ejemplos
LDR
R0, LookupTable
LDRSB
R7, LocalData
;
;
;
;
;
04 de noviembre 2011
45
Texas Instruments Incorporated
2.6
LDM y STM
Cargar y almacenar registros mltiples.
M3
Se aplica a los ...
2.6.1
M4
M4F
Sintaxis
op {addr_mode} {cond} {Rn!}, reglist
donde:
op
Es uno de:
LDM
Cargar registros mltiples.
STM
Guarde registros mltiples.
addr_mode
Es uno cualquiera de los siguientes:
Iowa
Direccin Incremento Despus de cada acceso. Este es el valor
predeterminado.
DB
Direccin Disminuir Antes de cada acceso.
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
Rn
Es el registro en el que se basan las direcciones de memoria.
!
Es un sufijo de reescritura opcional. Si! est presente, entonces la direccin de final, que se carga desde o
almacenada
a, se escribe de nuevo en Rn.
reglist
Es una lista de uno o ms registros que se cargue o se almacena, entre llaves. Puede contener registro
rangos. Tiene que ser separados por comas si contiene ms de un registro o se registra gama. Ver
47.
LDM y LDMFD son sinnimos de LDMIA. LDMFD se refiere a su uso para hacer estallar los datos de Full
Descendiendo pilas.
LDMEA es un sinnimo de LDMDB, y se refiere a su uso para hacer estallar los datos de las chimeneas Ascendente
vacos.
STM y STMEA son sinnimos de STMIA. STMEA se refiere a su uso para empujar datos en vaco
Ascendente pilas.
STMFD es sinnimo de s STMDb, y se refiere a su uso para empujar datos en pilas completa Descendente
46
04 de noviembre 2011
Texas Instruments Incorporated
2.6.2
Operacin
LDM instrucciones cargan los registros en reglist con valores de palabras de direcciones de memoria basan en
Rn.
STM instrucciones almacenan los valores de las palabras en los registros en reglist a direcciones de memoria
basado en Rn.
Para LDM, LDMIA, LDMFD, STM, STMIA, y STMEA, las direcciones de memoria utilizados para los accesos
son a intervalos de 4 bytes que van desde Rn a Rn + 4 * (n-1), donde nes el nmero de registros en reglist.
Los accesos suceden en orden creciente de nmeros de registro, con el registro de nmero ms bajo
utilizando la direccin de memoria ms bajo y el ms alto nmero de registro utilizando la direccin de memoria ms
alta.
Si se especifica el sufijo de reescritura, el valor de Rn + 4 * (n-1) se vuelve a escribir Rn.
Para LDMDB, LDMEA, STMDb, y STMFD, las direcciones de memoria utilizados para los accesos son en 4 bytes
intervalos que van desde Rn a Rn - 4 * (n-1), donde nes el nmero de registros en reglist. Los accesos
suceder en orden decreciente de nmeros de registro, con el registro de nmero ms alto utilizando la ms alta
direccin de memoria y el nmero de registro ms bajo utilizando la direccin de memoria ms baja. Si la reescritura
se especifica sufijo, el valor de Rn - 4 * (n-1) se vuelve a escribir Rn.
La EMPUJAR y POP instrucciones pueden ser expresadas en este formulario. Ver "PUSH y POP" en la pgina 48
para ms detalles.
2.6.3
Restricciones
En estas instrucciones:
Rn no debe ser PC.
reglist no debe contener SP.
En cualquier STM instruccin, reglist no debe contener PC.
En cualquier LDM instruccin, reglist no debe contener Ordenador personal si contiene
LR.
reglist no debe contener Rn si especifica el sufijo de reescritura.
Cundo Ordenador personal est en reglist en una LDM
instruccin:
Bit [0] del valor cargado en el Ordenador personal debe ser 1 para la ejecucin correcta, y una rama se produce a
esta
direccin media palabra-alineado.
Si la instruccin es condicional, debe ser la ltima instruccin en el Informtica bloque.
2.6.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.6.5
Ejemplos
LDM
STMDb
2.6.6
Ejemplos incorrectos
STM
LDM
04 de noviembre 2011
47
Texas Instruments Incorporated
2.7
EMPUJE y POP
Empuje registros de pop y registra de una pila de pleno descendente.
M3
Se aplica a los ...
2.7.1
M4
M4F
Sintaxis
EMPUJE {cond} reglist
POP {cond} reglist
donde:
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
reglist
Es una lista no vaca de registros, entre llaves. Puede contener rangos de registro. Debe ser
separados por comas si contiene ms de un registro o se registra gama.
EMPUJAR y POP son sinnimos de STMDb y LDM (O LDMIA) con las direcciones de memoria para el
acceso basado en SP, y con la direccin de final para el acceso escrito de nuevo a la SP. EMPUJAR y
POP son los mnemnicos preferidos en estos casos.
2.7.2
Operacin
EMPUJAR tiendas registra en la pila en orden decreciente de nmeros de registro, con el nmero ms alto
registro utilizando la direccin de memoria ms alta y el registro de nmero ms bajo con el ms bajo
direccin de memoria.
POP cargas registra desde la pila en orden creciente de nmeros de registro, con el nmero ms bajo
registrarse utilizando la direccin de memoria ms bajo y el ms alto registro foliado con la ms alta
direccin de memoria.
Consulte "LDM y STM" en la pgina 46 para ms informacin.
2.7.3
Restricciones
En estas instrucciones:
reglist no debe contener SP.
Para la EMPUJAR instruccin, reglist no debe contener PC.
Para la POP instruccin, reglist no debe contener Ordenador personal si contiene LR.
Cundo Ordenador personal est en reglist en una POP
instruccin:
Bit [0] del valor cargado en el Ordenador personal debe ser 1 para la ejecucin correcta, y una rama se produce a
esta
direccin media palabra-alineado.
Si la instruccin es condicional, debe ser la ltima instruccin en el Informtica bloque.
48
04 de noviembre 2011
Texas Instruments Incorporated
2.7.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.7.5
Ejemplos
EMPUJAR {R0, R4-R7}
EMPUJAR {R2, LR}
POP
{R0, R10, PC}
04 de noviembre 2011
49
Texas Instruments Incorporated
2.8
LDREX y STREX
Cargar y tienda Registro Unico.
M3
Se aplica a los ...
2.8.1
M4
M4F
Sintaxis
LDREX {cond} Rt, [Rn {, #offset}]
STREX {cond} Rd, Rt, [Rn {, #offset}]
LDREXB {cond} Rt, [Rn]
STREXB {cond} Rd, Rt, [Rn]
LDREXH {cond} Rt, [Rn]
STREXH {cond} Rd, Rt, [Rn]
donde:
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
Rd
Es el registro de destino para el estado devuelto.
Rt
Es el registro para cargar o almacenar.
Rn
Es el registro en el que se basa la direccin de memoria.
offset
Es un desplazamiento opcional aplica al valor en Rn. Si offset se omite, la direccin es el valor
en Rn.
2.8.2
Operacin
LDREX, LDREXB, y LDREXH cargar una palabra, byte, media palabra y, respectivamente, de una direccin de
memoria.
STREX, STREXB, y STREXH intentar almacenar una palabra, byte, media palabra y, respectivamente, a una
memoria
direccin. La direccin utilizada en cualquier instruccin-Store exclusivo debe ser la misma que la direccin en
la instruccin de carga exclusiva ejecutado ms recientemente. El valor almacenado por la tienda-Exclusiva
instruccin tambin debe tener el mismo tamao de los datos como el valor cargado por el anterior Load-exclusiva
instruccin. Esto significa que el software debe utilizar siempre una instruccin de carga exclusivo y un juego
-Store exclusivo de instrucciones para realizar una operacin de sincronizacin (consulte "Sincronizacin Primitives"
en el Stellaris Data Sheet).
Si una instruccin-Store exclusivo realiza la tienda, se escribe un 0 en su registro de destino. Si no lo hace
realizar la tienda, escribe 1 a su registro de destino. Si la instruccin-Store exclusivo escribe 0 a
el registro de destino, se garantiza que ningn otro proceso en el sistema ha accedido a la
posicin de memoria entre las instrucciones de carga exclusiva y tienda exclusiva.
50
04 de noviembre 2011
Texas Instruments Incorporated
2.8.3
Restricciones
En estas instrucciones:
No utilice PC.
No utilice SP para Rd y Rt.
Para STREX, Rd debe ser diferente de ambos Rt y Rn.
El valor de offset debe ser un mltiplo de cuatro en el rango de 0 a 1.020.
2.8.4
Indicadores de condicin
Estas instrucciones no cambian las banderas.
2.8.5
Ejemplos
MOV
intentar
LDREX
CMP
ITT
STREXEQ
CMPEQ
BNE
....
R1, # 0x1
R0, [LockAddr]
R0, # 0
EQ
R0,
R1, [LockAddr]
R0,
#0
intentar
;
;
;
;
;
;
;
04 de noviembre 2011
51
Texas Instruments Incorporated
2.9
CLREX
Claro Exclusivo.
M3
Se aplica a los ...
2.9.1
M4
M4F
Sintaxis
CLREX {cond}
donde:
cond
Es un cdigo de condicin opcional. Consulte la Tabla 1-2 en la pgina
33.
2.9.2
Operacin
Uso CLREX para que la prxima STREX, STREXB, o STREXH instruccin de escritura 1 a su registro de destino
y dejara de ejecutar la tienda. Es til en cdigo de controlador de excepcin para forzar el fracaso de la tienda
exclusivo, si se produce la excepcin entre una instruccin exclusivo de carga y la tienda juego
instruccin exclusiva en una operacin de sincronizacin (consulte "Sincronizacin Primitives" en el Stellaris
Ficha De Datos).
2.9.3
Indicadores de condicin
Esta instruccin no cambia las banderas.
2.9.4
Ejemplos
CLREX
52
04 de noviembre 2011
Texas Instruments Incorporated