Özet: data.asm Dosyasını Derleme
Coddy'nin Assembly Journey'sinin Temeller 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 | .data bölümü — verilerin gittiği yer |
| 3.2 | db — Define Byte (1 bayt) |
| 3.3 | dw — Define Word (2 bayt) |
| 3.4 | dd — Define Double Word (4 bayt) |
| 3.5 | dq — Define Quad Word (8 bayt) |
| 3.6 | db ile dizeler — metin oluşturma |
| 3.7 | $ sembolü — dize uzunluklarını otomatik hesaplama |
Şimdi her şeyi bir araya getirme ve eksiksiz bir data.asm dosyası oluşturma zamanı.
Bu görevde oluşturacaklarınız:
Şunları içeren bir data.asm dosyası:
- Otomatik uzunluk hesaplamalı bir dize
- Bir bayt (byte) değeri
- Bir word değeri
- Bir double word değeri
- Bir quad word değeri
Hepsi .data bölümünde düzgün bir şekilde organize edilmiş olmalıdır.
Tamamlanmış 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ı dahil edecek ve tanımladığınız etiketleri ve uzunlukları kullanacaktır.
Görev
Aşağıdakileri içeren eksiksiz bir data.asm dosyası oluşturun:
- Değeri 'Welcome!' olan ve ardından yeni satır (0x0a) gelen
welcomeadlı bir dize $ - welcomekullanarak uzunluğu otomatik olarak hesaplayanwelcomeLenadlı bir sabit- Değeri 99 olan
scoreadlı bir bayt (byte) - Değeri 2025 olan
yearadlı bir word - Değeri 8500000 olan
populationadlı bir double word - Değeri 100000000000 olan
starsadlı bir quad word
Hepsi .data bölümünün içinde olmalıdır.
Kendin dene
%include "data.asm"
section .text
global _start
_start:
; Karşılama dizesini yazdır
mov rax, 1
mov rdi, 1
mov rsi, welcome
mov rdx, welcomeLen
syscall
; Çıkış
mov rax, 60
mov rdi, 0
syscallTemeller 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ı Derleme