Herramientas de usuario

Herramientas del sitio


arm_intro_instrucc

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
arm_intro_instrucc [2020/05/13 02:36] andrewarm_intro_instrucc [2020/05/13 03:25] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
-===== Introducción a las instrucciones ARM =====+===== Formato de las instrucciones de ensamblador ARM =====
  
-Vamos a  introducir brevemente el conjunto de instrucciones de ARM y su uso general. Es importante para nosotros entender cómo funciona el lenguaje ensamblador, cómo se conectan las instrucciones y parámetros entre sí y qué se puede lograr al combinar instrucciones y parámetros.+Vamos a  introducir brevemente el formato de las instrucciones del lenguaje ensamblador ARM y su uso general. Es importante para nosotros entender cómo funciona el lenguaje ensamblador, cómo se conectan las instrucciones y parámetros entre sí y qué se puede lograr al combinar instrucciones y parámetros.
  
 Como hemos mencionado, el lenguaje ensamblador se compone de instrucciones, que son los bloques de construcción principales. Las instrucciones ARM generalmente van seguidas de uno o dos operandos y generalmente usan la siguiente plantilla: Como hemos mencionado, el lenguaje ensamblador se compone de instrucciones, que son los bloques de construcción principales. Las instrucciones ARM generalmente van seguidas de uno o dos operandos y generalmente usan la siguiente plantilla:
Línea 12: Línea 12:
  
  
-MNEMONICO        - Nombre corto de la instrucción (mnemonic)+**MNEMONICO**        - Nombre corto de la instrucción (mnemonic)
  
-{S}              - Un sufijo opcional. Si se agrega S al final del Mnemonico, el registro CPSR de flags es actualizado en base a los resultados de una operación+**{S}**              - Un sufijo opcional. Si se agrega S al final del Mnemonico, el registro CPSR de flags es actualizado en base a los resultados de una operación
  
-{condition}      - Condición que debe suceder para que se ejecute una instrucción+**{condition}**      - Condición que debe suceder para que se ejecute una instrucción
  
-{Rd}             - Registro destino para almacenar los resultados de una instrucción+**{Rd}**             - Registro destino para almacenar los resultados de una instrucción
  
-Operand1         - Primer operando. Puede ser un valor inmediato ó un registro +**Operand1**         - Primer operando. Puede ser un valor inmediato ó un registro 
  
-Operand2         - Segundo operando (flexible). Puede ser un valor inmediato ó un registro ó un registro con shift, ver ejemplo a continuación+**Operand2**         - Segundo operando (flexible). Puede ser un valor inmediato ó un registro ó un registro con shift, ver ejemplo a continuación
  
  
Línea 35: Línea 35:
 El operando2 se llama operando flexible, porque podemos usarlo de varias formas: como valor inmediato (con un conjunto limitado de valores), registro o registro con shift. Por ejemplo, podemos usar estas expresiones como Operand2: El operando2 se llama operando flexible, porque podemos usarlo de varias formas: como valor inmediato (con un conjunto limitado de valores), registro o registro con shift. Por ejemplo, podemos usar estas expresiones como Operand2:
  
-     #123                    - Immediate value (with limited set of values).  +     #123                    - Valor inmediato (limitado a un rango dependiendo del procesador).  
-     Rx                      - Register x (like R1, R2, R3 ...) +     Rx                      - Registro x (por ejemplo R1, R2, R3 ...) 
-     Rx, ASR n               Register with arithmetic shift right by n bits (1 = n = 32) +     Rx, ASR n               Registro con shift aritmético a derecha de n bits (1 = n = 32) 
-     Rx, LSL n               Register with logical shift left by n bits (0 = n = 31+     Rx, LSL n               Registro con shift lógico a izquierda de n bits (0 = n = 31) 
-     Rx, LSR n               - Register x with logical shift right by n bits (1 = n = 32+     Rx, ROR n               - Register x con rotación a derecha de n bits (1 = n = 31)
-     Rx, ROR n               - Register x with rotate right by n bits (1 = n = 31) +
-     Rx, RRX                 - Register x with rotate right by one bit, with extend+
            
-Como un ejemplo rápido de cómo se ven los diferentes tipos de instrucciones, veamos la siguiente lista.+Como un ejemplo completo de cómo se ven las instrucciones con el operando 2, veamos la siguiente lista:
  
-     ADD   R0, R1, R2         Adds contents of R1 (Operand1) and R2 (Operand2 in a form of registerand   +     ADD   R0, R1, R2         Suma los contenidos de R1 (Operando 1) and R2 (Operando 2 en la forma de un registro  
-                                stores the result into R0 (Rd) +                                almacena el resultado en R0 (Rd) 
-     ADD   R0, R1, #2         Adds contents of R1 (Operand1and the value 2 (Operand2 in a form of an  +     ADD   R0, R1, #2         Suma el contenido de R1 (Operando 1y el valor 2 (Operando 2 en la forma de un   
-                                immediate valueand stores the result into R0 (Rd)+                                valor inmediatoy almacena el resultado en R0 (Rd)
  
-     MOV   R0, R1, LSL #1     Moves the contents of R1 (Operand2 in a form of register with logical shift  +     MOV   R0, R1, LSL #1     Mueve a R0 (Rd) el contenido de R1 (Operando 2 en la forma de registro con shift lógico  
-                                leftshifted left by one bit to R0 (Rd)So if R1 had value 2, it gets shifted  +                                a izquierdashifteado a izquierda un bit. Por ejemplo si R1 tiene el valor 2, este es shifteado  
-                                left by one bit and becomes 4. 4 is then moved to R0.+                                a izquierda un bit y se convierte en 4. El luego movido a R0.
                                                                
  
 [[oc_raspi0|Volver]]                                [[oc_raspi0|Volver]]                               
  
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

arm_intro_instrucc.1589337380.txt.gz · Última modificación: 2020/05/13 02:36 por andrew