Menu
Coddy logo textTech

Códigos de Salida

Parte de la sección Fundamentos del Journey de Assembly de Coddy — lección 33 de 45.

Cuando tu programa finaliza, envía un número pequeño de vuelta al sistema operativo. Este número se llama código de salida o estado de salida.

Por qué son importantes los códigos de salida:

Los scripts utilizan códigos de salida para comprobar si un programa se ejecutó correctamente. Por ejemplo, un script de copia de seguridad podría continuar solo si el comando anterior tuvo éxito.

Los códigos de salida también ayudan con la depuración. Puedes usar diferentes códigos de error para diferentes problemas.

También puedes encadenar programas para que uno se ejecute solo si el anterior tuvo éxito. La shell comprueba el código de salida antes de ejecutar el siguiente comando.

Las reglas de los códigos de salida:

Código de salidaSignificado
0Éxito — todo funcionó
1-255Algo salió mal

Elegir códigos de error:

Puedes usar cualquier número del 1 al 255. Lo que significa cada número depende de ti como programador.

Código de salidaLo que podría significar
1Error general
2Archivo de entrada faltante
3Permiso denegado
4Error de red

 

¿Qué sucede si no estableces un código de salida?

Siempre debes establecer rdi antes de la llamada al sistema exit. Si lo olvidas, rdi contendrá cualquier basura que haya quedado en el registro, y tu programa finalizará con un código aleatorio.

challenge icon

Desafío

Escribe un programa completo en ensamblador que finalice con el código de salida 2 (para señalar "file not found").

El código de impresión se proporciona para ti. Solo necesitas añadir la syscall exit.

Pruébalo tú mismo

section .data
    msg db 'Backup complete', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    ; Imprimir el mensaje (proporcionado por el arnés de pruebas)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; El código del estudiante va aquí
    %include "solution.asm"
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos