Özet
1000 0000 (KO) 1000 0000 (128) 1 000 0000 (sonuç).
Diğer Dergiler
Tam metin içeriği
MAKİNE DİLİ ile:
POINTER ve LEN'i REGİISTER'a aktar.
UFFSET'İ
LDT #a
"CANT"LDA
EOE ##FF
EOR KBUFFER),Y
INY
CPY #LEN
BCC "CONT"
RTS
Ma £ LEN:SDizin
EPGINTER),Y
sözcük
OFFSET: Sıfırıncı
REGISTER'a ekle.
uzunluğu
dizir 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 4XKAYIT 2)
İlk kayıtınızı girdikten sonra-yazar,
konu, başlık, yıl- 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
1000 000 sayısının tam sayıdaki karşı-
lığı 128 olduğundan bunu karşılaştır-
mak için AND işlemini 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
GOTO N
N ekrana ya da printer'a yazdırmak
için bir komutun bulunduğu satır ola-
rak düşünebilir.
AND işlemini kullanırken, bilgisayar
her biti konirol eder. KO içindeki
değer, 1 000 0000, 428 ile karşılaştırı-
lir.
1000 0000 (KO)
1000 0000 (428)
1 000 0000 (sonuç)
Boolean doğruluk tablosu bu karşı-
laştırma işleminin sonucunu “doğru”
olarak saptar ve aramanız amacına
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.
Az E—48
B—-2 F-32
C-4 6-64
D—8 H—4128
O zaman satırımız şu biçimi alır:
IF KO AND HTHENN
Daha özel bir konuyu ele alalım,
eğitimde bilgisayarın rolü gibi. Eğitim
konusunu ikili sistemde bir sayı vere-
lim: 0100 0000 (tam sayı olarak 64). Bil-
gisayar konusu da 1000 0000 (428) idi.
Bilgisayar ve eğitimle ilgili bir kitap da
o zaman 1100 0000 (492) olurdu. Bu
durumda araştırma satırımızı şöyle
oluşturmamız gerekli:
IF 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ızınız 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 iyidir. Bir
dizinlemedeki tek bir yanlış bitin, iliş-
kili olduğu kaydı, araştırma sırasında
bulunması olanaksız hale getirdiğini
unutmayın.
Sistemin Girdi
(Input)
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 kullanımının kolaylaş-
tırılması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 ödgibi bazı bilgisayarlar virgül İ-
çeren bir dizi| girdisiyle başedemez-
ler.Bu tür bilgisayarların işletim sistem-
leri bu sınırlandırıcıları bir girdi ola-
rak yorumlar. Ancak yayın adlârı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 komu-
tunu kullanarak diziyi byte byte oluş-
turmak mümkündür. Bu çeşit problem-
ler problemler başlangıç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ının 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.
17