Özet: data.asm Dosyasını Derleme
Coddy'nin Assembly Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 30 / 45.
Görev
.data bölümünde veri tanımlamanın birkaç yolunu öğrendiniz:
| Ders | Öğrendikleriniz |
|---|---|
| 3.1 | Verilerin bulunduğu .data bölümü |
| 3.2 | db: Bayt tanımlama (1 bayt) |
| 3.3 | dw: Word tanımlama (2 bayt) |
| 3.4 | dd: Double Word tanımlama (4 bayt) |
| 3.5 | dq: Quad Word tanımlama (8 bayt) |
| 3.6 | db ile dizeler: metin oluşturma |
| 3.7 | $ sembolü: dize uzunluklarını otomatik olarak hesaplama |
Şimdi her şeyi bir araya getirip eksiksiz bir data.asm dosyası oluşturma zamanı.
Bu görevde oluşturacağınız şey:
Şunları içeren bir data.asm dosyası:
- Otomatik uzunluk hesaplamalı bir dize
- Bir bayt değeri
- Bir word değeri
- Bir double word değeri
- Bir quad word değeri
Tümü .data bölümünde düzgün şekilde düzenlenmiş olacak.
Eksiksiz bir <strong>data.asm</strong> örneği:
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 5000000000Bu neden önemli:
Sonraki bölümlerde, programlarınızın ihtiyaç duyduğu verileri depolamak için bunun gibi data.asm dosyalarını kullanacaksınız. main.asm dosyası data.asm dosyanızı içerecek ve tanımladığınız etiketleri ve uzunlukları kullanacak.
Görev
Aşağıdakileri içeren eksiksiz bir data.asm dosyası oluşturun:
- Değeri, ardından yeni satır (0x0a) gelen 'Welcome!' olan
welcomeadlı bir dize welcomeLenkullanarak uzunluğu otomatik olarak hesaplayan$ - welcomeadlı bir sabit- Değeri 99 olan
scoreadlı bir bayt - Değeri 2025 olan
yearadlı bir word - Değeri 8500000 olan
populationadlı bir double word - Değeri 100000000000 olan
starsadlı bir quad word
Tümü .data bölümünün içinde olmalı.
Kendin dene
%include "data.asm"
section .text
global _start
_start:
; welcome dizesini yazdır
mov rax, 1
mov rdi, 1
mov rsi, welcome
mov rdx, welcomeLen
syscall
; Çıkış
mov rax, 60
mov rdi, 0
syscallTemel Bilgiler bölümündeki tüm dersler
4Veri Tanımlama
.data Bölümüdb - Byte Tanımlamadw - Word Tanımlamadd - Double Word Tanımlamadq - Quad Word Tanımlamadb ile Stringler$ SembolüÖzet: data.asm Dosyasını DerlemeKendi başına pratik yap: Assembly playground