Tinjauan: Buat data.asm
Termasuk bagian Dasar-Dasar dalam perjalanan Assembly di Coddy. Pelajaran 30 dari 45.
Tantangan
Kamu telah mempelajari beberapa cara untuk mendefinisikan data di bagian .data:
| Pelajaran | Yang kamu pelajari |
|---|---|
| 3.1 | Bagian .data, tempat data disimpan |
| 3.2 | db: Mendefinisikan Byte (1 byte) |
| 3.3 | dw: Mendefinisikan Word (2 byte) |
| 3.4 | dd: Mendefinisikan Double Word (4 byte) |
| 3.5 | dq: Mendefinisikan Quad Word (8 byte) |
| 3.6 | String dengan db: membuat teks |
| 3.7 | Simbol $: 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 5000000000Mengapa 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:
- String bernama
welcomedengan nilai 'Welcome!' diikuti baris baru (0x0a) - Konstanta bernama
welcomeLenyang menghitung panjang secara otomatis menggunakan$ - welcome - Byte bernama
scoredengan nilai 99 - Word bernama
yeardengan nilai 2025 - Double word bernama
populationdengan nilai 8500000 - Quad word bernama
starsdengan 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
syscallSemua pelajaran di Dasar-Dasar
4Definisi Data
Bagian .datadb, Definisikan Bytedw, Definisikan Worddd, Definisikan Double Worddq, Definisikan Quad Wordstring dengan dbSimbol $Tinjauan: Buat data.asmLatihan sendiri: Playground Assembly