arm_tipodatos
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_tipodatos [2020/03/03 23:28] – mariano | arm_tipodatos [2020/05/13 22:53] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 36: | Línea 36: | ||
==== Punteros ==== | ==== Punteros ==== | ||
- | Un puntero siempre ocupa 32 bits y contiene una dirección de memoria. En ensamblador no tienen tanta utilidad como en C, ya que disponemos de registros de sobra y es más costoso | + | Un puntero siempre ocupa 32 bits y contiene una dirección de memoria. En el siguiente ejemplo se puede observar |
- | ---- | + | |
+ | var1: .word 99 | ||
+ | .text @ Defincion de codigo del programa | ||
+ | | ||
+ | |||
+ | | ||
+ | ldr r2, =var1 /* r2 apunta a var1*/ | ||
+ | ldr r3, [r2] | ||
+ | |||
+ | ==== Atención con Bi-Endian ==== | ||
Hay dos formas básicas de ver los bytes en la memoria: Little-Endian (LE) o Big-Endian (BE). La diferencia es el orden de bytes en el que cada byte de un objeto se almacena en la memoria. En máquinas little endian como Intel x86, el byte menos significativo se almacena en la dirección más baja (la dirección más cercana a cero). En las máquinas big-endian, el byte más significativo se almacena en la dirección más baja. La arquitectura ARM era little-endian antes de la versión 3, desde entonces es bi-endian, lo que significa que presenta una configuración que permite la endianness conmutable. En ARMv6, por ejemplo, las instrucciones son little-endian fijas y los accesos a los datos pueden ser little-endian o big-endian según lo controlado por el bit 9, el bit E, del Registro de estado del programa (CPSR). | Hay dos formas básicas de ver los bytes en la memoria: Little-Endian (LE) o Big-Endian (BE). La diferencia es el orden de bytes en el que cada byte de un objeto se almacena en la memoria. En máquinas little endian como Intel x86, el byte menos significativo se almacena en la dirección más baja (la dirección más cercana a cero). En las máquinas big-endian, el byte más significativo se almacena en la dirección más baja. La arquitectura ARM era little-endian antes de la versión 3, desde entonces es bi-endian, lo que significa que presenta una configuración que permite la endianness conmutable. En ARMv6, por ejemplo, las instrucciones son little-endian fijas y los accesos a los datos pueden ser little-endian o big-endian según lo controlado por el bit 9, el bit E, del Registro de estado del programa (CPSR). |
×
iphelper toolbox
you see this when javscript or css is not working correct
Untested
arm_tipodatos.1583278099.txt.gz · Última modificación: 2020/03/03 23:28 (editor externo)