Menu
CoddyTech

Kode Keluar

Termasuk bagian Dasar-Dasar dalam perjalanan Assembly di Coddy. Pelajaran 33 dari 45.

Ketika programmu keluar, program mengirimkan sebuah angka kecil kembali ke sistem operasi. Angka ini disebut kode keluar atau status keluar.

Mengapa kode keluar penting:

Skrip menggunakan kode keluar untuk memeriksa apakah program berhasil. Misalnya, skrip cadangan mungkin hanya akan melanjutkan jika perintah sebelumnya berhasil.

Kode keluar juga membantu kamu men-debug. Kamu dapat menggunakan kode error yang berbeda untuk masalah yang berbeda.

Kamu juga dapat menghubungkan program sehingga satu program hanya berjalan jika program sebelumnya berhasil. Shell memeriksa kode keluar sebelum menjalankan perintah berikutnya.

Aturan kode keluar:

Kode keluarArti
0Berhasil: semuanya berjalan lancar
1-255Ada yang tidak beres

Memilih kode error:

Kamu bisa menggunakan angka apa pun dari 1 sampai 255. Arti setiap angka ditentukan olehmu sebagai programmer.

Kode keluarHal yang mungkin kamu maksud
1Kesalahan umum
2File input tidak ditemukan
3Izin ditolak
4Kesalahan jaringan

 

Apa yang terjadi jika kamu tidak menetapkan kode keluar?

Kamu harus selalu mengatur rdi sebelum syscall keluar. Jika kamu lupa, rdi berisi nilai sembarang yang tersisa di register, dan programmu akan keluar dengan kode acak.

challenge icon

Tantangan

Tulis program assembly lengkap yang keluar dengan kode keluar 2 (untuk menandakan "file not found").

Kode untuk mencetak sudah disediakan. Kamu hanya perlu menambahkan syscall keluar.

Coba sendiri

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

section .text
    global _start

_start:
    ; Cetak pesan (disediakan oleh perangkat pengujian)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; Tulis kodemu di sini
    %include "solution.asm"
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Assembly