Pola Dua File
Termasuk bagian Dasar-Dasar dalam perjalanan Assembly di Coddy. Pelajaran 5 dari 45.
Sepanjang kursus ini, kamu akan menulis setiap program menggunakan dua file terpisah:
| File | Tujuan |
|---|---|
data.asm | Menyimpan semua data (string, angka, variabel) |
main.asm | Menyimpan semua kode (instruksi, logika, alur) |
Ini tidak diwajibkan oleh assembler. Kamu bisa menaruh semuanya dalam satu file. Namun, memisahkan kode dari data membuat programmu lebih rapi, lebih mudah dibaca, dan lebih mudah di-debug.
Mengapa dua file?
- Organisasi: Data dan kode memiliki tujuan yang berbeda. Dengan memisahkannya, kamu bisa berpikir lebih jernih.
- Dapat digunakan kembali: Kamu bisa menggunakan
data.asmyang sama dengan filemain.asmyang berbeda.
- Keterbacaan: Kamu tidak perlu menggulir melewati string yang panjang untuk menemukan kodemu.
- Praktik industri: Proyek nyata memisahkan kode dan data, meskipun sering kali dengan cara yang lebih kompleks.
Cara kerjanya:
File main.asm menyertakan file data.asm menggunakan direktif %include. Ini memberi tahu assembler: "sisipkan seluruh isi data.asm tepat di sini sebelum melakukan assembly."
Kedua file berdampingan:
| data.asm | main.asm |
|---|---|
section .data | %include "data.asm" |
| (variabel ditulis di sini) | section .text |
global _start | |
_start: | |
| (instruksi ditulis di sini) |
Fungsi setiap bagian:
| Bagian | Tujuan | File mana? |
|---|---|---|
section .data | Menyimpan data yang ada di memori saat program dijalankan | data.asm |
section .text | Menyimpan instruksi yang dapat dieksekusi (kode) | main.asm |
global _start | Membuat titik masuk terlihat oleh linker | main.asm |
_start: | Label tempat eksekusi program dimulai | main.asm |
Kamu tidak perlu menghafal
section .data,section .text,global _start, atau_start:sekarang. Kita akan membahas setiap perintah ini secara terperinci di pelajaran berikutnya. Untuk saat ini, cukup lihat gambaran besarnya dan pahami struktur kedua file tersebut.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
Latihan sendiri: Playground Assembly