MAKİNE DİLİ ile: POINTER ve LEM'i REGİSTER'a ekle. ÖFFSET'i REGİSTER'a LOY HE "CONT"LOA EOR #£FF EOR (BUFFER),.Y CPY #LEN BC "CONT" Nat £ <PÜOINTER),Y £ LENzDizin sözcük ÖOFFSETS5S Sıfırıncı aktar . uzunluğu dizin sözcüğün adresi Girişin Planlanması Tartışılan bir başka teknik, kayıt bi- çimine göre bir dizin dosyası yarat- maktır. Örneğin: Yazar Konu Başlık Yıl Yazar Dizin (KAYIT 4)(KAYIT 2) İlk kayıtınızı girdikten sonra-yazar, konu, başlık, yil- o kayıtın sonunda di- zin dosyası yaratmak için birkaç byte ayrılabilir. Burada bitmap kullanmak aramayı kolaylaştırmak bakımından yararlı olur. Her alan için dizinde bir byte kulla- nırsanız her alan için 256 olasılığınız olur. Bu da genellikle yeter de artar. Daha evvel incelediğimiz örneği ele alırsak 1000 0000 biçiminde bir bit yerleşimi, konunun bilgisayar üzerin- de olduğunu gösterir. İkili tabandaki 4000 000 sayısının tam sayıdaki karşı- lığı 128 olduğundan bunu karşılaştır- mak için AND ışlemını kullanabilirsiniz. Örneğin konu alanı için KO değişke- nini seçtiğinizi düşünelim. Uygun bir satır şu şekilde olur: IF KO AND 128 THEN OTO N N ekrana ya da printer'a yazdırmak için bir komutun bulunduğu satır ola- rak düşünebllir. AND işlemini kullanırken, bilgisayar her biti kontrol eder. KO içindeki değer, 1 000 0000, 128 ile karşılaştırı- lır. 1000 0000 (KO) 1000 0000 (4128) 4 000 0000 (sonuç) Boolean doğruluk tablosu bu karşı- laştırma işleminin sonucunu “doğru” olarak saptar ve aramanız amacınad ulaşır. Bazı durumlarda dizinlerken (in- deks), istediğiniz konuların toplam sa- yısına bağlı olarak ikili sistemdeki eş- değerlere değişik adlar vermek da- ha pratik olabilir. Az1 E- 18 B-2 F- 32 Cz4 Gz64 D-8 Hz128 O zaman satırımız şu biçimi alır: IF KO AND HTHEN N Daha özel bir konuyu ele alalım, eğitimde bilgisayarın rolü gibi. Eğitim konusunu ikili sistemde bir sayı vere- lim: 0400 0000 (tam sayı olarak 64). Bil- gisayar konusu da 40000000 (428) idi. Bilgisayar ve eğitimle ilgili bir kitap da o zaman 1100 0000 (192) olurdu. Bu durumda araştırma satırımızı şöyle oluşturmamız gerekli: İF KO AND 192 THENN Bu yöntemi kullanırken, dizinlemeyi oluşturmada çok dikkatli olmanız ge- rektiği açıktır. Hangi dizinleme yönte- mini kullanırsanız kullanın dikkatli ol- malısınız, araştırma hıziıniz ve doğru- luk buna bağlıdır. Bitmapping metodunu kullanma- mayı tercih ederseniz, bir şeye dikkat etmeniz gereklidir: Dizinleme dosya- commodore larınızı oluşturan verileri kayıtların ken- dilerinde yazmayı unutmayın. Bir dizin- leme dosyasının formatını, bir arama rutinini yeniden yazmak üzere değiş- tirmeye karar verebilirsiniz. Yeni dizin- leme dosyasını oluşturmanın en kolay yolu onu disketten madde madde okuyup öyle bir araya getirmektir. Bu elle daktilo etmekten daha İyidir. Bir dizinlemedeki tek bir yanlış bifin, iliş- kili olduğu kaydı, araştırma sırasında bulunması olanaksız hale getirdiğini unutmayın. Sistemin Girdi (İnpuf) Problemleri Şimdi biraz da girdi ile ilgili sorun- lara bakalım. Kullanılması kolay bir sis- tem istiyorsunuz. Bu, kullanıcıya neler olup bittiği hakkında ipucu vermekle olur. Bunun bir yolu ekranda en üst sa- tırın, programın ne yaptığını ya dane beklediğini belirtmek üzere ayrılma- sıdır. Programın kullaniımının kolaylaş- tırlmasında diğer bir önemli husus da ekran formatını mantıklı ve anlaşılması kolay yapmaktır. Yeni kayıtları girer- ken, programı bozmadan düzenle- me, silme değiştirme olanakları sağ- lanmalıdır. C 64 gibi bazı bilgisayarlar virgül i- çeren bir dizi| girdisiyle başedemez- ler.Bu tür bilgisayarların işletim sistem- leribu sınırlandırıcıları bir girdi ola- rak yorumlar. Ancak yayın adlarını gi- rerken de virgüller önemlidir. Bu da sözü geçen bilgisayarlarda virgülde kesmek zorunda kalmadan dizileri yerleştirmenin bir yolunu bulmamız gerektiği anlamına gelir. Bunu yap- manın çeşitli yolları vardır. GET kormu- tunu kullanarak diziyi byte byte oluş- turmak mümkündür. Bu çeşit problem- ler problemler başlangiçta çözümlen- melidir. Veriler girilirken küçük olan so- runlar daha sonra büyüyebilir. Virgül yerine başka bir şey koymak zorunda kalmak insanı çok uğraştırabilir. Girdilere ilişkin bilinmesi gereken bir şey de programın, her girdinin disket- teki kayıt sayısını ve dizindeki dosya- sını bilmesi gerektiğidir. Yeni bir kayıt girildiğinde disketteki sonraki boş ye- re gitmelidir. Yeni kaydın dizinleme sözcükleri uygun dizinleme dosyala- rınin sonuna konmalıdır. Bu bilgilen- meyi korumanın yolu gelecek kayıt numarasını işaret eden bir sicil (regis- ter) koymaktır. Yeni bir kaydın girilme- siyle sicil bir kez artar. Dizinleme dos- yalarını saklarken (SAVE), bu sicili de SAVE etmeniz gerekir. Eğer sicil dizin dosyalarınıza bitişikse hepsini birden kurtarabilirsiniz.