Skip to content

Instantly share code, notes, and snippets.

@IoTeacher
Last active February 13, 2026 04:28
Show Gist options
  • Select an option

  • Save IoTeacher/d0ce3de688f2a5f8a7dab8c840b24151 to your computer and use it in GitHub Desktop.

Select an option

Save IoTeacher/d0ce3de688f2a5f8a7dab8c840b24151 to your computer and use it in GitHub Desktop.
// =====================================
// Autor: Nombre del estudiante
// Materia:
// Grupo:
// Fecha:
// Arquitectura: ARM64 (AArch64)
// Descripción: Breve descripción del programa
// **Asciinema: https://asciinema.org/a/XXXXXXXX
// =====================================
// -------------------------------------
// Solución en alto nivel (ejemplo Python)
//
// 1. Leer valor de entrada
// 2. Procesar el dato
// 3. Mostrar el resultado
// 4. Terminar el programa
// AQUI EL ESTUDIANTE PUEDE PONER SOLUCION EN PYTHON, JAVA, RUST, GO, ETC.
// SON COMENTARIOS DE SU EQUIVALENCIA DEL PROGRAMA.
// -------------------------------------
.section .text
.global _start
_start:
// Inicializar registros
mov x0, #0 // Registro x0 usado para código de salida
// Lógica principal del programa
// (describir qué hace este bloque)
// Finalizar el programa
mov x8, #93 // syscall: exit
svc #0

Entrega de Trabajo – Lenguaje Ensamblador (ARM64)

Información General

  • Nombre del estudiante:
  • Grupo / Materia:
  • Docente:
  • Fecha de entrega:
  • Arquitectura: ARM64 (AArch64)
  • Sistema operativo: Linux

Descripción del Problema

Explicación breve y clara del problema que resuelve el programa en lenguaje ensamblador ARM64.


Objetivo del Programa

Indicar qué se busca demostrar con el ejercicio (uso de registros, memoria, control de flujo, llamadas al sistema, etc.).


Archivos Incluidos

  • programa.s – Código fuente en ensamblador ARM64
  • README.md – Documento explicativo

Estructura Requerida del Código Fuente (programa.s)

El archivo de ensamblador debe incluir obligatoriamente las siguientes secciones:

1. Encabezado del Programador

Debe colocarse al inicio del archivo y contener información del autor y del trabajo.

// =====================================
// Autor: Nombre del estudiante
// Materia: 
// Grupo: 
// Fecha:
// Arquitectura: ARM64 (AArch64)
// Descripción: Breve descripción del programa
// =====================================

2. Solución en Lenguaje de Alto Nivel (Pseudocódigo)

Antes del código ensamblador, se debe explicar la lógica del programa como si estuviera escrita en un lenguaje de alto nivel (Python, Rust, C, etc.).

// -------------------------------------
// Solución en alto nivel (ejemplo Python)
//
// 1. Leer valor de entrada
// 2. Procesar el dato
// 3. Mostrar el resultado
// 4. Terminar el programa
// AQUI EL ESTUDIANTE PUEDE PONER SOLUCION EN PYTHON, JAVA, RUST, GO, ETC. 
// SON COMENTARIOS DE SU EQUIVALENCIA DEL PROGRAMA.
// -------------------------------------

3. Código Ensamblador Comentado

El código ARM64 debe estar claramente comentado, explicando únicamente las partes relevantes.

.section .text
.global _start

_start:
    // Inicializar registros
    mov x0, #0          // Registro x0 usado para código de salida

    // Lógica principal del programa
    // (describir qué hace este bloque)

    // Finalizar el programa
    mov x8, #93         // syscall: exit
    svc #0

Instrucciones de Compilación y Ejecución

Ejemplo para Linux ARM64:

as programa.s -o programa.o
ld programa.o -o programa
./programa

Evidencia de Ejecución / Depuración (Asciinema)

Enlace a la grabación donde se muestre claramente la compilación, ejecución y/o depuración:


Resultados Esperados

Descripción de la salida o comportamiento correcto del programa.


Conclusión

Breve reflexión sobre lo aprendido al resolver el problema usando ensamblador ARM64.


Observaciones (Opcional)

Limitaciones, errores conocidos o posibles mejoras.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment