Herramientas de usuario

Herramientas del sitio


arm_addsubcmp

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_addsubcmp [2020/05/11 19:54] marthaarm_addsubcmp [2020/05/21 20:18] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 ====== Instrucciones Aritméticas ====== ====== Instrucciones Aritméticas ======
  
-**Instrucciones aritméticas**. Realizan operaciones aritméticas sobre números binarios o BCD. Son instrucciones de este grupo add, cmp, adc, sbc, mul.+**Instrucciones aritméticas**. Realizan operaciones aritméticas sobre números binarios puros en Complemento a 2. Son instrucciones de este grupo add, cmp, adc, sbc, mul.
  
 ==== add ==== ==== add ====
Línea 7: Línea 7:
 Suma sin afectar al carry Suma sin afectar al carry
  
-add{s}{cond} {Rd}, Rn, Oper2 +add{s}{cond} {rd}, rn, Oper2
-add{cond} {Rd}, Rn, #imm12+
  
-La instrucción add suma en Rd los valores de Rn y Operand2 o imm12.+add{cond} {rd}, rn, #imm8 
 + 
 +La instrucción add suma en rd los valores de rn y Operand2 o imm8.
 En ciertas circunstancias, el ensamblador puede sustituir una instrucción por otra. Tenelo en cuenta si tenes que leer un listado desensamblado. En ciertas circunstancias, el ensamblador puede sustituir una instrucción por otra. Tenelo en cuenta si tenes que leer un listado desensamblado.
  
Línea 17: Línea 18:
   * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado.    * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado. 
   * **cond**  opcional, es un código de condición.    * **cond**  opcional, es un código de condición. 
-  * **Rd** Registro destino. +  * **rd** Registro destino. 
-  * **Rn** es el registro que contiene el primer operando.+  * **rn** es el registro que contiene el primer operando.
   * **Oper2** segundo operando.   * **Oper2** segundo operando.
-  * **imm12** Es cualquier valor que va de 0-4095.+  * **imm8** Es cualquier valor que va de 0-4095.
 **Códigos de Condicion** **Códigos de Condicion**
 ^ Código      ^ Sufijo    ^ Flags ^  Significado ^  ^ Código      ^ Sufijo    ^ Flags ^  Significado ^ 
Línea 53: Línea 54:
 **Flags que modifica:** **Flags que modifica:**
  
-Si se especifica **S**, estas instrucciones actualizan los indicadores **N, Z, C y V** de acuerdo con el resultado.+Si se especifica **s**, estas instrucciones actualizan los indicadores **N, Z, C y V** de acuerdo con el resultado.
  
 ==== adc ==== ==== adc ====
Línea 59: Línea 60:
 Suma con carry Suma con carry
  
-adc{S}{cond} {Rd}, Rn, Oper2+adc{s}{cond} {rd}, rn, Oper2
  
-La instrucción adc (suma con acarreo) suma los valores en Rn y Oper2, junto con el flag de acarreo. +La instrucción adc (suma con acarreo) suma los valores en rn y Oper2, junto con el flag de acarreo. 
  
 donde: donde:
Línea 67: Línea 68:
   * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado.   * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado.
   * **cond**  opcional, es un código de condición.   * **cond**  opcional, es un código de condición.
-  * **Rd** Registro destino. +  * **rd** Registro destino. 
-  * **Rn** es el registro que contiene el primer operando.+  * **rn** es el registro que contiene el primer operando.
   * **Oper2** segundo operando.   * **Oper2** segundo operando.
  
Línea 84: Línea 85:
 **Flags que modifica:** **Flags que modifica:**
  
-Si se especifica **S**, estas instrucciones actualizan los indicadores **N, Z, C y V** de acuerdo con el resultado.+Si se especifica **s**, estas instrucciones actualizan los indicadores **N, Z, C y V** de acuerdo con el resultado.
  
 ==== sub ==== ==== sub ====
Línea 90: Línea 91:
 Resta sin afectar al carry Resta sin afectar al carry
  
-sub{s}{cond} {Rd}, Rn, Oper2 +sub{s}{cond} {rd}, rn, Oper2
-sub{cond} {Rd}, Rn, #imm12+
  
-La instrucción sub resta en RdRn - Oper2.+sub{cond} {rd}, rn, #imm8 
 + 
 +La instrucción sub resta en rdrn - Oper2.
 En ciertas circunstancias, el ensamblador puede sustituir una instrucción por otra. Tenelo en cuenta si tenes que leer un listado desensamblado. En ciertas circunstancias, el ensamblador puede sustituir una instrucción por otra. Tenelo en cuenta si tenes que leer un listado desensamblado.
  
Línea 100: Línea 102:
   * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado.    * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado. 
   * **cond**  opcional, es un código de condición.    * **cond**  opcional, es un código de condición. 
-  * **Rd** Registro destino. +  * **rd** Registro destino. 
-  * **Rn** es el registro que contiene el primer operando.+  * **rn** es el registro que contiene el primer operando.
   * **Oper2** segundo operando.   * **Oper2** segundo operando.
-  * **imm12** Es cualquier valor que va de 0-4095.+  * **imm8** Es cualquier valor que va de 0-4095.
  
 Ejemplo: Ejemplo:
Línea 119: Línea 121:
 **Flags que modifica:** **Flags que modifica:**
  
-Si se especifica **S**, estas instrucciones actualizan los indicadores **N, Z, C y V** de acuerdo con el resultado.+Si se especifica **s**, estas instrucciones actualizan los indicadores **N, Z, C y V** de acuerdo con el resultado.
  
 ==== sbc ==== ==== sbc ====
Línea 125: Línea 127:
 Restar con carry Restar con carry
  
-sbc{S}{cond} {Rd}, Rn, Oper2+sbc{s}{cond} {rd}, rn, Oper2
  
-La instrucción sbc (Restar con acarreo) resta el valor de Oper2 del valor en Rn. Si el flag carry es cero es clara, el resultado se le resta uno.+La instrucción sbc (Restar con acarreo) resta el valor de Oper2 del valor en rn. Si el flag carry es cero es clara, el resultado se le resta uno.
  
 donde: donde:
Línea 133: Línea 135:
   * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado.    * **s** es opcional, si se especifica, se actualiza el registro de flags CPSR, de acuerdo al resultado. 
   * **cond**  opcional, es un código de condición.    * **cond**  opcional, es un código de condición. 
-  * **Rd** Registro destino. +  * **rd** Registro destino. 
-  * **Rn** es el registro que contiene el primer operando.+  * **rn** es el registro que contiene el primer operando.
   * **Oper2** segundo operando.   * **Oper2** segundo operando.
    
Línea 158: Línea 160:
 Estas instrucciones comparan el valor en un registro con Operando2. Actualizan los **indicadores** (bits) del registro de flags: **CPSR** en base al resultado, el resultado no afecta a ningún registro. Estas instrucciones comparan el valor en un registro con Operando2. Actualizan los **indicadores** (bits) del registro de flags: **CPSR** en base al resultado, el resultado no afecta a ningún registro.
  
-cmp{cond} Rn, Operando2+cmp{cond} rn, Operando2
  
-cmn{cond} Rn, Operando2 +cmn{cond} rn, Operando2 
  
 donde: donde:
   * **cond** es un código de condición opcional   * **cond** es un código de condición opcional
-  * **Rn** registro conteniendo el primer operando+  * **rn** registro conteniendo el primer operando
   * **Oper2** segundo operando   * **Oper2** segundo operando
  
-La instrucción **cmn resta** el valor de Operando2 del valor en Rn. Esto es lo mismo que una instrucción subs, excepto que el resultado se descarta.+La instrucción **cmp resta** el valor de Operando2 del valor en rn. Esto es lo mismo que una instrucción subs, excepto que el resultado se descarta.
  
-La instrucción **cmn Compare Negative** agrega el valor de Operando2 al valor en Rn. Esto es lo mismo que una instrucción adds, excepto que el resultado se descarta.+La instrucción **cmn Compare Negative** agrega el valor de Operando2 al valor en rn. Esto es lo mismo que una instrucción adds, excepto que el resultado se descarta.
  
 **Flags que modifica:** **Flags que modifica:**
× 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_addsubcmp.1589226847.txt.gz · Última modificación: 2020/05/11 19:54 (editor externo)