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 valuelabel: nama yang kamu berikan untuk alamat memori inidb: direktif Define Bytevalue: 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 0Yang bisa kamu simpan dalam satu byte:
| Tipe | Rentang | Contoh |
|---|---|---|
| Angka kecil | 0 sampai 255 | db 100 |
| Karakter | 'A' sampai 'z' | db 'X' |
| Kode ASCII | 0 sampai 255 | db 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, 67Cara 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 myByteAturan penting:
| Aturan | Penjelasan |
|---|---|
| Nilai harus muat dalam 1 byte | 0 sampai 255 (atau satu karakter) |
Gunakan register 8-bit seperti al untuk memuat atau menyimpan | al (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)Tantangan
MudahBuat 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 1Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua 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