arm_inst_mov
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
arm_inst_mov [2020/05/15 05:04] – andrew | arm_inst_mov [2020/05/27 03:04] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 2: | Línea 2: | ||
===== Instrucciones de movimientos de datos ===== | ===== Instrucciones de movimientos de datos ===== | ||
- | ==== MOV (inmediato)==== | + | ==== mov ==== |
- | La instrucción | + | La instrucción |
**MOVS <Rd>, #< | **MOVS <Rd>, #< | ||
Línea 37: | Línea 37: | ||
| | ||
+ | ==== ldr y str ==== | ||
+ | En la arquitectura ARM los accesos a memoria se hacen mediante instrucciones específicas ldr y str (luego veremos las variantes ldm, stm y las preprocesadas push y pop). El resto de instrucciones toman operandos desde registros o valores inmediatos, sin excepciones. En este caso la arquitectura nos fuerza a que trabajemos de | ||
+ | un modo determinado: | ||
+ | Existen otras arquitecturas como la Intel x86, donde las instrucciones de procesado nos permiten leer o escribir directamente de memoria. Ningún método es mejor que otro, todo es cuestión de diseño. Normalmente se opta por direccionamiento a memoria en instrucciones de procesado en arquitecturas con un número reducido de registros, donde se emplea la memoria como almacén temporal. | ||
+ | |||
+ | En nuestro caso disponemos de suficientes registros, por lo que podemos hacer el procesamiento sin necesidad de interactuar con la memoria, lo que por otro lado también es más rápido. | ||
==== PUSH y POP ==== | ==== PUSH y POP ==== | ||
Línea 62: | Línea 68: | ||
- | [[arquitectura_arm: | + | [[arquitectura_arm: |
- | Más info sobre el funcionamiento del stack, click acá]] | + | |
Línea 76: | Línea 81: | ||
+ | ***Observación***: | ||
+ | |||
+ | Aunque no usemos las instrucciones stm y ldm, les dejamos como es la sintaxis: | ||
+ | ldm{ modo_direc }{ cond } rn {!} , lista_reg | ||
+ | stm{ modo_direc }{ cond } rn {!} , lista_reg | ||
+ | |||
×
iphelper toolbox
you see this when javscript or css is not working correct
Untested
arm_inst_mov.1589519081.txt.gz · Última modificación: 2020/05/15 05:04 (editor externo)