Menu
CoddyTech

Newline Itu Penting

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

Kamu telah menambahkan 0x0a (baris baru) di akhir string-mu. Namun, apa yang terjadi jika kamu lupa menambahkannya?

Tanpa baris baru:

Teks dicetak, tetapi kursor tetap berada di baris yang sama. Output berikutnya akan muncul tepat di sebelahnya.

Contoh tanpa baris baru:

section .data
    first db 'Hello'
    firstLen equ $ - first
    second db 'World'
    secondLen equ $ - second

section .text
    mov rax, 1
    mov rdi, 1
    mov rsi, first
    mov rdx, firstLen
    syscall

    mov rax, 1
    mov rdi, 1
    mov rsi, second
    mov rdx, secondLen
    syscall

Output:

HelloWorld

Tanpa spasi. Tanpa baris baru. Semuanya menempel.

Dengan baris baru:

section .data
    first db 'Hello', 0x0a
    firstLen equ $ - first
    second db 'World', 0x0a
    secondLen equ $ - second

Output:

Hello
World

Setiap string dicetak pada barisnya sendiri.

Fungsi baris baru:

KarakterASCIIEfek
0x0a10Memindahkan kursor ke awal baris berikutnya

Kesalahan umum terkait baris baru:

KesalahanHasil
Tidak ada baris baru sama sekaliTeks menyatu dalam satu baris
Baris baru hanya di akhir string terakhirString sebelumnya menyatu, string terakhir berpindah ke baris berikutnya
Baris baru di tengah stringBaris terputus di tempat yang tidak terduga

Aturan yang aman:

Selalu tambahkan 0x0a di akhir setiap string yang ingin kamu tampilkan di baris tersendiri.

challenge icon

Tantangan

Kamu diberi tiga string tanpa baris baru. Tugasmu adalah mencetaknya agar muncul pada tiga baris terpisah.

String tersebut adalah:

StringNilai
word1'Apple'
word2'Banana'
word3'Cherry'

Persyaratan:

  • Definisikan setiap string dengan baris baru (0x0a) di bagian akhir
  • Hitung panjang setiap string secara otomatis
  • Cetak ketiga string menggunakan syscall write
  • Keluar dengan bersih menggunakan kode 0

Coba sendiri

section .data
    ; TODO: Definisikan word1 dengan teks ke-1 yang tercantum dalam instruksi dan karakter baris baru
    ; TODO: Definisikan word2 dengan teks ke-2 yang tercantum dalam instruksi dan karakter baris baru
    ; TODO: Definisikan word3 dengan teks ke-3 yang tercantum dalam instruksi dan karakter baris baru
    ; TODO: Hitung panjang setiap string

section .text
    global _start

_start:
    ; TODO: Cetak word1
    ; TODO: Cetak word2
    ; TODO: Cetak word3

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