Menu
CoddyTech

Rangkai Semuanya

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

Kamu telah mempelajari keempat bagian dari syscall write:

RegisterNilai yang disimpanNilai untuk output layar
raxNomor syscall1 (write)
rdiFile descriptor1 (stdout)
rsiAlamat bufferAlamat string-mu
rdxJumlah bytePanjang string-mu

Sekarang saatnya menggabungkan semuanya.

Pola syscall write yang lengkap:

mov rax, 1          ; nomor syscall untuk write
mov rdi, 1          ; deskriptor file (stdout)
mov rsi, msg        ; alamat string
mov rdx, msgLen     ; jumlah byte yang akan dicetak
syscall             ; minta OS mencetak

Program lengkap yang berfungsi:

section .data
    msg db 'Hello, World!', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    mov rax, 60
    mov rdi, 0
    syscall

Fungsi program ini:

LangkahYang terjadi
1Mencetak "Hello, World!" ke layar
2Pindah ke baris baru
3Keluar dengan lancar dengan kode 0

Urutannya penting:

Kamu harus menyiapkan register sebelum menjalankan syscall. Urutan instruksi mov tidak penting selama keempatnya sudah diatur sebelum syscall.

challenge icon

Tantangan

Tulis program lengkap yang mencetak pesan "Assembly is fun" diikuti baris baru, lalu keluar dengan benar.

String dan panjangnya sudah ditentukan. Kamu hanya perlu menulis kode di dalam _start:.

Coba sendiri

section .data
    msg db 'Assembly is fun', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    ; TODO: Siapkan dan panggil syscall write
    ; Gunakan rax=1, rdi=1, rsi=msg, rdx=msgLen

    ; TODO: Akhiri program dengan benar menggunakan kode 0
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