GNU/Linux xterm zsh 113 views

Endianness y Modos de Direccionamiento (ARM64)

Este programa en ensamblador para AArch64 (ARM64) muestra cómo los sistemas pueden organizar los bytes de un dato y cómo el procesador accede a la memoria de distintas formas.


Little Endian vs Big Endian

  • Little Endian: el byte menos significativo se guarda primero en memoria. Ejemplo: el número 0x11223344 se almacena como 44 33 22 11.
  • Big Endian: el byte más significativo se guarda primero. Ejemplo: el mismo número se almacena como 11 22 33 44.

En la práctica, los sistemas ARM modernos usan little endian por eficiencia y compatibilidad.


Addressing Modes (Modos de Direccionamiento)

Son las formas en que el procesador accede a la memoria:

  • Inmediato: base + un número fijo ([x0, #4])
  • Por registro: base + valor de otro registro ([x0, x1])
  • Pre-indexado: incrementa la base antes de leer ([x0, #1]!)
  • Post-indexado: lee y luego incrementa ([x0], #1)
  • Relativo al PC: dirección calculada respecto al contador de programa (útil para constantes o texto).

Ejecución en AWS EC2

Compilar y ejecutar:

gcc -o endian_demo aarch64_endian_addressing.S
./endian_demo

El programa imprime los conceptos en pantalla usando llamadas al sistema (write y exit), demostrando cómo se representan los datos en memoria y cómo se accede a ellos.


Leonardo Sebastián Jiménez Delgado
Instituto Tecnológico de Tijuana


More recordings by JIDE73

Browse all

Practica 01 8:20

by JIDE73

Practica 02 14:04

by JIDE73