Menu
CoddyTech

Tinjauan: Buat data.asm

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

challenge icon

Tantangan

Kamu telah mempelajari beberapa cara untuk mendefinisikan data di bagian .data:

PelajaranYang kamu pelajari
3.1Bagian .data, tempat data disimpan
3.2db: Mendefinisikan Byte (1 byte)
3.3dw: Mendefinisikan Word (2 byte)
3.4dd: Mendefinisikan Double Word (4 byte)
3.5dq: Mendefinisikan Quad Word (8 byte)
3.6String dengan db: membuat teks
3.7Simbol $: menghitung panjang string secara otomatis

Sekarang waktunya menggabungkan semuanya dan membuat file data.asm yang lengkap.

Yang akan kamu buat dalam tantangan ini:

File data.asm yang berisi:

  • String dengan penghitungan panjang otomatis
  • Nilai byte
  • Nilai word
  • Nilai double word
  • Nilai quad word

Semuanya tersusun dengan baik di bagian .data.

Contoh data.asm yang lengkap:

section .data
    ; String with automatic length
    msg db 'Hello', 0x0a
    msgLen equ $ - msg
    
    ; Numbers of different sizes
    smallNum db 100
    mediumNum dw 5000
    largeNum dd 100000
    veryLarge dq 5000000000

Mengapa ini penting:

Di bab-bab berikutnya, kamu akan menggunakan file data.asm seperti ini untuk menyimpan data yang dibutuhkan programmu. File main.asm akan menyertakan data.asm milikmu dan menggunakan label serta panjang yang telah kamu tentukan.

Tantangan

Buat file data.asm lengkap dengan isi berikut:

  1. String bernama welcome dengan nilai 'Welcome!' diikuti baris baru (0x0a)
  2. Konstanta bernama welcomeLen yang menghitung panjang secara otomatis menggunakan $ - welcome
  3. Byte bernama score dengan nilai 99
  4. Word bernama year dengan nilai 2025
  5. Double word bernama population dengan nilai 8500000
  6. Quad word bernama stars dengan nilai 100000000000

Semuanya harus berada di bagian .data.

Coba sendiri

%include "data.asm"

section .text
    global _start

_start:
    ; Tampilkan string sambutan
    mov rax, 1
    mov rdi, 1
    mov rsi, welcome
    mov rdx, welcomeLen
    syscall
    
    ; Keluar
    mov rax, 60
    mov rdi, 0
    syscall

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Assembly