Menu
Coddy logo textTech

İki Dosya Deseni

Coddy'nin Assembly Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 5 / 45.

Bu kurs boyunca her programı iki ayrı dosya kullanarak yazacaksın:

DosyaAmaç
data.asmTüm verileri (dizeler, sayılar, değişkenler) depolar
main.asmTüm kodu (talimatlar, mantık, akış) depolar

Bu, assembler tarafından zorunlu kılınmaz. Her şeyi tek bir dosyaya koyabilirsin. Ancak kodu verilerden ayırmak, programlarını daha düzenli, okunması ve hatalarının ayıklanması daha kolay hâle getirir.

Neden iki dosya?

  • Düzen: Verilerin ve kodun farklı amaçları vardır. Bunları ayrı tutmak, net düşünmene yardımcı olur.
  • Yeniden kullanılabilirlik: Aynı data.asm dosyasını farklı main.asm dosyalarıyla kullanabilirsin.
  • Okunabilirlik: Kodunuzu bulmak için uzun dizeler arasında asla kaydırma yapmanız gerekmez.
  • Sektör uygulaması: Gerçek projeler kodu ve verileri birbirinden ayırır (ancak bunu genellikle daha karmaşık şekillerde yaparlar).

Nasıl çalışır:

main.asm dosyası, %include yönergesini kullanarak data.asm dosyasını içerir. Bu, assembler'a şunu söyler: "data.asm dosyasının tüm içeriğini derlemeden önce tam buraya ekle."

İki dosya yan yana:

data.asmmain.asm
section .data%include "data.asm"
(değişkenler buraya gelir)section .text
 global _start
 _start:
 (talimatlar buraya gelir)

Her bölümün yaptığı:

BölümAmaçHangi dosya?
section .dataProgram çalıştığında bellekte bulunan verileri tutardata.asm
section .textYürütülebilir talimatları (kodu) tutarmain.asm
global _startGiriş noktasını bağlayıcıya görünür kılarmain.asm
_start:Program yürütmesinin başladığı etiketmain.asm

Şu anda section .data, section .text, global _start veya _start: komutlarını ezberlemen gerekmiyor. Bu komutların her birini sonraki derslerde ayrıntılı olarak ele alacağız. Şimdilik yalnızca genel tabloya bak ve iki dosyanın yapısını anlamaya çalış.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Assembly playground