Menu
CoddyTech

db, Definisikan Byte

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

Cara paling dasar untuk membuat data di memori adalah db: Define Byte. Ini membuat satu byte (8 bit) data.

Sintaks:

label db value
  • label: nama yang kamu berikan untuk alamat memori ini
  • db: direktif Define Byte
  • value: angka atau karakter yang akan disimpan (0 hingga 255)

Contoh:

section .data
    age db 25          ; Membuat byte bernama "age" yang berisi 25
    grade db 'A'       ; Membuat byte bernama "grade" yang berisi 65 (ASCII untuk 'A')
    zero db 0          ; Membuat byte bernama "zero" yang berisi 0

Yang bisa kamu simpan dalam satu byte:

TipeRentangContoh
Angka kecil0 sampai 255db 100
Karakter'A' sampai 'z'db 'X'
Kode ASCII0 sampai 255db 65 (sama dengan 'A')

Beberapa byte dalam satu baris:

Kamu dapat mendefinisikan beberapa byte berurutan dengan menggunakan koma:

section .data
    numbers db 5, 10, 15, 20    ; Membuat 4 byte: 5, 10, 15, 20
    letters db 'A', 'B', 'C'    ; Membuat 3 byte: 65, 66, 67

Cara menggunakan byte dalam kodemu:

section .data
    myByte db 42

section .text
    mov al, [myByte]    ; Muat nilai 42 ke al
    add al, 1           ; al menjadi 43
    mov [myByte], al    ; Simpan kembali 43 ke myByte

Aturan penting:

AturanPenjelasan
Nilai harus muat dalam 1 byte0 sampai 255 (atau satu karakter)
Gunakan register 8-bit seperti al untuk memuat atau menyimpanal (seperti bl, cl, dl) adalah register 8-bit

Kesalahan umum:

; Salah: mencoba menyimpan angka yang terlalu besar untuk satu byte
section .data
    error db 300    ; 300 terlalu besar (maksimum 255)
challenge icon

Tantangan

Mudah

Buat byte bernama score dengan nilai 15 di bagian .data.

Tulis file data.asm dengan bagian .data dan direktif db yang benar.

Coba sendiri

%include "data.asm"

section .text
    global _start

_start:
    mov al, [score]
    
    mov r12, rax
    
    add al, 48
    mov [digit], al
    
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    mov rax, 60
    mov rdi, 0
    syscall

section .bss
    digit resb 1
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