64'ler MON

Bu sayımızda yayınladığımız ve makina dili editörü ile yazdığınız bu monitor programı dışarıdan para ile satın alacağınız veya bir kitaptan yazabileceğiniz monitorlar kadar iş görebilecek bir programdır. 4K uzunluğunda olup 49152-53247 desimal ($C000 - $CFFF hex.) adreslerine yerleşmektedir. Hafızanın en üstüne yerleşmesinin sebebi, üzerinde çalışacağınız BASIC yada MAKİNA KODU ile yazılmış programlardan uzak kalması içindir. Bununla birlikte, daha ileride açıklanacağı gibi eğer istenirse herhangi bir adrese de taşınabilir. Programın $C000 adresine yerleşmesi sebebiyle herhangi bir Basic Pointer'i değiştirmek gerekmemektedir. Program kendini korumak için önce Pointer'in kendi adresine taşıp taşmadığını kontrol etmekte ve gerekirse Pointer'i daha aşağı bir adrese indirmektedir.

64'ler Mon. programının ayrıntılarına girmeden önce nasıl yazılıp yükleneceğini açıklayacağım. Önce Makina Dili Editörünü yükle ve çalıştır. Program adını 64'ler Mon. şeklinde yaz ve RETURN tuşuna bas. Başlangıç adresi olarak C000 yaz ve RETURN tuşuna bas. Bitiş adresini D000 yaz ve RETURN tuşuna bas. Programı yazdıktan sonra kaydet (Save)

Kaydettiğin programı tekrar yüklemek için:

| — Load"'64'ler Mon.”,8,1 Disket için
Mon.”,1,1 Kaset için

yaz ve RETURN tuşuna bas. Program yüklendikten sonra SYS 49152 yaz ve RETURN tuşuna bas. Ekranda 64'ler Mon. Y mesajı ve bir takım rakamlar göreceksin. Artık monitor çalışmaya hazırdır. 64'ler Mon programı yüklenip SYS 49152 yazıldığında normal ekran yazılım kolaylıklarının yanısıra iki özel fonk-

siyona daha kavuşuruz:

F1: Cursor'ın bulunduğu yerden satır sonuna doğru ekranı siler. F3: Cursor'un bulunduğu yerden başlamak üzere ekranın altına doğru ekranı siler. Komutlar tek bir (alfabetik harf komut karakteri) ve onu takip eden özel değişkenleriyle girilir. Her komutun çeşitli şekilleri ileride ayrıntılı şekilde anlatılmıştır. Kısaltmalar şöyledir: $sss dört rakamlı başlangıç adresi, eeee dört rakamlı bitiş adresi, dddd dört rakamlı gideceği adres, dd iki rakamlı DEVICE değeri (örnek 08 -disk drive-).

ver)

bb iki rakamlı bayt değeri

Herhangi bir komutta kullanılan yukarıdaki sayıların hepsi hexadesimal kabul edilmişlerdir ve $ işareti gerekmemektedir. Fakat desimal sayılarda başına ve sonunda birer nokta konularak da verilebilir. (Örneğin: D 2000 ile D. 8192. birbirlerine eşdeğerdir). Bütün komutlardaki biçim boşlukları da dahil olmak üzere dikkatle korunmalıdır. Her komutu alfabetik olarak ele alıp, çeşitli olanaklarını göstermeye çalışacağım. A ssss - Assembler'i başlatma modu. Program kendiliğinden ekrana > ssss yazıp size her satır için opcode ve operand yazmanıza olanak vermek üzere READY duruma geçer. Hiçbir şey yazılmadan bir satır program Assembly durumundan çıkar. Operand'ı hex veya Desimal girebilmemiz için önüne karakterin ASCII değerinden girersek bir apostrof ('), ekran değerinden girersek bir ünlem (!) koymak yeterli olacaktır. Bir dallanma komutunun (branch instruction) operand'ı işe yukarıdaki bu iki seçeneğin birisiyle belirtilebilir. Bu girilen değer ya tek bayt'lık bir dallanma parçasıdır veya iki bayt'lık kesin (absolut) varış adresidir. Çok kullanışlı komutlardan bir tanesi de 255'e kadar diledi-.

ğiniz sayıda NOP veya BRK komutunu, komutun ken-

disinden sonra sadece sayısını belirtmekle girebilirsiniz.
Örneğin NOP 07 yazarak ardarda yedi NOP girebilirsi-
niz.
.A 1800
1800 LDX #03
1802 LDA ##!M
1804 STA. 1024., X
1807 LDA
1809 JSR FFD2
180C NOP 04
1810 DEX
1811 BNE 1802
1813 BEO 01
1815 BRK
1816 RTS
1817
V V V V

C ssss eeee dddd - Bu komut hafızanın ssss-eeee arasında kalan bölümünü dddd adresinden başlamak üzere daha yukarıya doğru karşılaştırarak farklı değerleri içeren adreslerin dökümünü yapar. Stop tuşuyla durur. D - En son referansı verilmiş adresten başlıyarak

Disassembling'e devam eder. D ssss - ssss adresinden başlıyarak hafıza sonuna kadar Disassembling'e devam eder. D ssss eeee - 'ssss' den eeee'ye kadar olan bölümü Disassembling eder. Disassembling sırasında, her satır tek tek görünüp herhangi bir tuşa örneğin SHIFT tuşuna basılıncaya kadar beklemede kalır. STOP tuşuna basılarak Disassembling sona erdirilir. Disassembling süresince JSR, JMP, Absolute ve Zero Page referanslarında, dallanma komutlarında varış adresi takip edilmek istenirse F tuşuna basılması yeterlidir. Eğer komut hafızadaki bir adresten referans almaktaysa örneğin LDA 3D78,X - F tuşu sadece O adresteki değeri verir fakat o adreste herhangi bir JSR, JMP veya dallanma komutu varsa onun akışını izler. R tuşuna basarak bir önceki Follow (izle) komutunun başlangıcına dönebilirsiniz. Follow döngüsü içiçe onaltı kez tekrarlanabilir. Eğer monitor programı geniş NOP yada BRK komut bloklarıyla karşılaşırsa (üç'ten fazla olmak kaydıyla) onların hepsini tek bir satırda birleştirir. Örneğin: .> 201D - 203F NOP E ssss - Komutu size ssss adresinden başlamak üzere hafızaya ASCII kodundan metin yazma olanağı sağlar. ASCII metin ve kontrol karakterleri klavyeden girilir. Ins. Del. tuşu son karakteri siler ve yerine boş bir bayt koyar. Bu konumdan stop tuşuna basarak çıkabilirsiniz. O zaman program size bir sonraki karakterin adresini verir. Böylece sonradan ek yapmak isterseniz hangi adresten başlıyacağını bilirsiniz. F ssss eeee bb bb - Bu komut verilen adres aralığında nitelikleri belirlenmiş 1-7 arası bayt'ın bütün “occurance” larını bulur. Bayt değeri yerine * * yazmakla es geçilebilir. Bayt'lar önüne bir (') apostrof yazarak karakterin ASCII değerinden de girilebilir. F ssss eeee bb bb bb - bb bb bb: Bul komutu bu şekliyle verilen aralığı tarıyarak bayt'ların occurance'larını ikinci aralıktaki bayt'ların occurance'larıyla değiştirir. Birinci komutta olduğu gibi * * ile es geçilmiş bayt'ın hafızadaki esas değeri değişmeden kalır. Not: Bütün MATCH'lerin adresleri ekrana dökülür. Birden fazla occurance varsa BUL komutu STOP tuşuyla zamanından önce kesilebilir. Örneğin: F 1000 17FF A9 18 20 * * 18 - ** ** * 19 Bu komut 18. sayfadaki bütün A9 18 dizilimleri bularak (yani LDA N JSR dizilimi) onları aynı sırayı koruyarak fakat A9 40 şeklinde (yani LDA N JMP biçimiyle) 19. sayfaya yerleştirir. G ssss - ssss adresinden makina kodunu çalıştırmaya başlar. G - Program Counter belirdiği adresten makina kodunu çalıştırmaya başlar. 64'ler mon.'a geçildiğinde IRQ, NMI vektörlerini, program counter'ı, Stack Pointer'ı, Accumulator'u, X, Y, ve Status'u muhafaza eder. G komutuna girildiğinde bütün bu yukardaki register'ları yerlerine koyar, ve belirtilen adresten Makina kodunu başlatır. Otomatik olarak da 64'ler mon. NMIV'i kendini gösterecek şekilde ve RESTORE'a basıldığında programı yarıda keserek tekrar 64'ler mon.'a döner. GN ssss ve GN: İkisi de yukardaki komut gibidir. Ne var ki bir makina kodu işlemesi sırasında BRK ile karşılaşıldığında bilgisayar kendiliğinden 64'ler mon.'a döner. Böylece bir programın hatalarını Check ederken rutin aralarına BRK yerleştirerek işinizi kolaylaştırabilirsiniz. H - Ondalıklı sayı n'nin heksadesimal değerini verir. Örneğin: .H 326 0146 | bb ssss eeee - Hafızanın ssss eeee adresleri arasında kalan değerleri bb değeri kadar arttırır. Heksadesimal bir değeri FF kadar arttırmak elbette bir eksiltme etkisi yapar. J ssss ya da J yada JN ssss JN - G gibidir. Farkı RTS ile biten subroutine içeren Stack'a 64'ler mon.'a dönmesi için bir return adresi yerleştirir. K - VIC chip'ini reset ederek tekrar orjinal değerlerini almasını sağlar. Ayrıca SID chip'inin tüm ses kanal anahtarlarını kapalı (off) duruma getirir. Görüldüğü gibi çok kullanışlı bir komuttur. Bir programı BRK yada RESTORE komutuyla kırdığınızda ve tanımlanabilir karakterler, HI-RES, ekran ve ses kaybolduğunda bu komutu kullanabilirsiniz. L - Herhangi bir programı teypten yükler. L “TEST” -(” ”) içinde adı yazılan programı teypten yükler. L “TEST 2” dd - Adı yazılan programı 01 durumunda teypten, dd- 08 durumunda da disketten yükler. L “TEST 3” dd ssss - öteleme (yeniden yerleştirilmiş yükleme) Adı yazılan programı normalde varış adresi ne olursa olsun ssss adresinden başlamak üzere yükler. M ssss - Hafızanın 8 bayt'ını ssss adresinden itibaren ekrana çıkarır: M ssss eeee - ssss'den eeee'ye kadar olan bayt'ları ekrana döker. Döküm herhangi bir tuşa basılarak yavaşlatılabilir. RUN/STOP'a basarak durdurulabilir. Bayt'ların ASCII karşılıkları ekranın sağ tarafına dökülür. Karşılığı olmayanlar ise bir nokta şeklinde belirir. Herhangi bir bayt normal ekran yazım yollarıyla değeri değiştirilerek, istenen değişiklik yapılabilir. N ssss eeee dddd - Yeniden yerleştirme. Dışardan ne kadar karışık görünürse görünsün büyük kolaylıklar getiren kullanımı rahat bir komuttur. Bu komut size bir programı yeni bir adrese yerleştirme olanağı verir ve hafızanın başka bir bölgesinde tüm referansları değiştirerek yeniden uygulama olanağı sağlar. Program tüm JSR, JMP, Absolute, Zero Page ve Branch (dallanma) referanslarını yeniden yerleştirir. Hatta bir dallanma referansı hafıza sınırı dışına taşarsa yada bir Zero Page referansı Absolute adres olursa, program bu durumu belirtir. Değişen her referans önce ekrana yansıyacak ve siz herhangi bir tuşa basıncaya kadar bekliyecektir. Yeniden yerleştirilen programın taranması sırasında rutin (döngü) geçersiz hale gelen bir opcode'a rastlarsa o bayt'ın adresini ve değerini verip sizin bir tuşa basmanızı bekler. Böyle yapmasının nedenine gelince program bazı dataları özgün referans kabul edip, istemiyerek data listesinde değişiklik yapabilir.

Komutun değişkenliklerine gelince ilk ssss - eeee adres aralığını ikinci ssss - eeee aralığına taşımak istediğinizde, önce ikinci dilimdekilere dddd başlamak üzere yukarıya taşır, sonra ilk dilimi ikinci aralığa yerleştirir.

Komutun kullanılımını göstermek için 64'ler mon.'u hafızanın başka bir bölümüne Normal durumda 64'ler mon. $C000 - $CFFF daha ilerde anlatacağımız TAŞIMA komutu ile önce doğru bölüme yerleştirmemiz gerekir. T C000 CFFF 6000 64'ler mon.'un son üç sayfası 3 x 256 bayt, sadece DATA'dan oluştuğundan sadece ilk on üç sayfayı taşıyacağınız bölmeye yerleştirmek kafidir. N 6000 6D00 C000 CFFF 6000 Bu komut yeni programın 13 sayfasını tarıyarak eski programın referanslarını gerektiği gibi değiştirmektedir. Bir başka örnek bu komutun normal kullanımını iyice açıklamaya yardımcı olacaktır. adresleri arasında bir programınız olduğunu ve $1300 adresine 16 bayt yerleştirmek istediğimizi düşünelim. Bu son 256 bayt'ın hafızada daha ileriye kaydırılması demektir. Bunu şöyle yapabiliriz; N 1000 13FF 1300 13FF 1310 T 1300 13FF 1310 y Değiştirmek istediği her referansı ekrana dökmesi, hafızanın herhangi bir bölgesindeki referanslara bakmak için 64'ler mon.'u kullanabileceğinizi gösterir. Örneğin 0 ve 1 deki herhangi bir referansı bulmak için aşağıdaki komutu yazmak yetecektir: N ssss eeee 0000 0001 0000. O - Güvenlik nedeniyle, kontrol 64'ler mon.'a geçtiğinde yada herhangi bir komut onunla birlikte uygulandığında, 64'ler mon. kendiliğinden KERNAL ROM'a bağlanıp INTERRUPT vektörünü, normal INTERRUPT ROUTINE'ine RESET eder. Bununla birlikte, herhangi bir nedenden dolayı, örneğin 64'ler mon.'un içinden çalışan bir müzik programı istenmezse O komutuyla korumayı sağlıyabilirsiniz. Aç-Kapa (On, Off) anahtarı gibi çalışır. P sayacının belirteceği adresten başlamak üzere bir programı işleme koyar. P ssss - Bir programı ssss adresinden itibaren işleme koyar. Bu komut bir makina kodu programı, 64'ler mon.'dan yavaşlatılmış işleyişini izlemenize olanak verir. Her komut uygulandıkça, önce komutun kendisi ve çeşitli registerlerin o andaki durumları ekrana dökülür. Ve bir tuşa yada SHIFT tuşuna basılıncaya kadar bekler. SHIFT tuşuna bastığınızda program normal hızıyla çalışmaya başlar. Bu komut rutinlerinizdeki hataları ayıklamak için çok iyi bir yol gibi görünmekle birlikte, ayrıca da yeni başlayan biri içinde komutların çeşitli register, bilhassa STATUS REGISTER üzerine etkilerini incelemesine olanak tanıdığı için çok kullanışlıdır. Ayrıca programın işleyişi için hangi tuşlara basmanız gerektiğini de göstermektedir. Eğer bir dallanma komutu

(branch instruction) ekrana dökmekteyse R tuşuna basarken, bu uzun beklemeli LOOP'lar nedeniyle zaman kaybetmenizi önler. İşlem rutini bir JSR komutuyla karşılaştığında çeşitli seçenekler vardır. Subroutine adresi KERNAL ROM'da ise ($F000 - $FFFF) routine kendiliğinden işleme girer; Tabii siz ayrıntılarıyla incelemek için bir tuşa basmadıysanız. Eğer subroutine adresi KERNAL sınırları dışındaysa, program sizin routine'in her komutunun işlemesini istediğinizi varsayar. Eğer bu komutların hızlı akışını sağlamak isterseniz D tuşuna basmanız gerekmektedir. Register'lerin dökümü ve DISASSEMBLING işlemi (programın yürüyüşünü) çok yavaşlatırsa yada printing sırasında iki program birbiriyle karıştırırsa S tuşuna basarak kurtulabilirsiniz. Bu durumda bile program bir tuşa yada SHIFT tuşuna basmanızı bekleyecektir. SHIFT tuşuna basarak akışı hızlandırsanız bile yine de normal makina kodu hızından 500 kez daha yavaş olarak çalışacaktır. Tekrar S tuşuna basarak komutların dökümünü başlatabilirsiniz. C ssss eeee ssss eeee dddd - Bu komut tek bir fark dışında N komutuyla tamı tamına aynı işi yapar. Normal olarak yeniden yerleştirme rutin bulduğu tüm geçersiz opcode'ların dökümünü yapar. Bununla birlikte, bu rutini sadece hafızanın bir bölümündeki referansları bulmak için kullanıyorsanız ve programınızda geniş aralıklarla DATA blokları varsa, tüm geçersiz bayt'ların tek tek bulunması ve ekrana dökümü çok zaman alır. Oysa C komutu sadece bulunduğu referansları yazar. R - Bu komut, Accumulator'un, X register'in, Y register'in, Stack Pointer'in, Program Counter'in, Status Register'in, IRQ vektörünün ve NMI vektörünün bulunduğu durumları ekrana döker. Ayrıca Status Register hangi FLAG'in açılmış olduğunu göstermek için genişletilmiş olarak ekrana dökülür. Dökümü yapılan değerlerin hepsi normal ekran yazım yollarıyla değiştirilebilirler ve yeni değerler G, J yada P komutları kullanıldığında işleme girer. S “Dosya Adı” dd ssss eeee yada S “Dosya Adı” dd ssss eeee bk Bu bir bölümünü diskete yada teybe kaydetmenize olanak sağlar. Bölüm sonu adresi (eeee) kaydedilecek son bayt'tan bir fazla yazılmalıdır. İkinci kayıt seçeneği ise sıfırdan farklı durumlarda kullanabilmeniz içindir. İkinci adres BASIC içinde geçerlidir. T ssss eeee dddd - Hafızanın ssss - eeee adresleri arasında kalan bölümünü dddd'den başlamak üzere başka bir adrese taşır. U b... -Birden dörde kadar rakamlı hexadesimal sayıyı ondalıklı sayıya çevirir. V yada V “Dosya Adı” yada V “Dosya Adı” dd yada V “Dosya Adı” dd ssss - Bir programı VERIFY eder. Load'daki seçenekler gibidir. W bb ssss eeee - Hafızanın bu adresleri arasında bildireceğiniz bir bayt'ı yazar (hafızaya doldurur). X - BASIC'e geri döndürür. 1 - Bu komut sırasıyla DISASSEMBLING ettiğiniz programı yada hafızayı ekran yerine PRINTER'daki kağıda döker. Komut kapatma düğmesi gibi (On-Off) çalışır. İkinci kez bastığınızda normal hale yani ekrana döküm yapmaya başlar. Bu rutin PRINTER DEVICE sayısının dört ve ikinci adresinin de bir olduğunu varsayar. PROGRAM : MON Bununla birlikte, sizin PRINTER'iniz bu komutlara uymuyorsa $CCE6 adresindeki LDX #04 ve $CCF7 adresindeki LDY #01 komutlarını PRINTER'ınızın DEVICE sayısına ve ikinci adresine uygun olarak değiştirmeniz gerekir. Örneğin: 1520 PRINTER/PLOTTER kullanıyorsanız LDX #06 ve LDY #00 şeklinde bir değişiklik

08 48 BA 48 98 dö AZ OE dü
A0 EZ 20 BÜ Üs AD 50 Co
BD 16 OZ AE 5D CO GE öz
03 E4 38 BO ÖD E? ZF BO
yapmalısınız. Coz0 : Ol CA 85 37 BE S3 Bö 38
2028 : Be 34 AZ OZ BE 56 ÖZ 20 AD
C030
C038
D040
C048
C0S0
C058

iş Tecrübeli programcılar için de birkaç söz ederek yazımızı bitirelim. 64'ler mon., BASIC ROM'dan tamamiyle bağımsız olduğu için BASIC ROM'u gözardı edebilirsiniz ama BASIC ROM iptal edildikten sonra da 64'ler mon.'dan çıkış yapmaya kalkmayın. 64'ler mon. tüm komutları için ZERO PAGE adreslerini yoğun bir şekilde kullanmaktadır, bu nedenle sayacağımız aşağıdaki adresler programlarınızda tarafınızdan kullanılmaması gerekmektedir:

AZ 1F 68 AB â8 AR
68 20 C5 Ci 68 85 ZA 68 Bo
38 ES 1F 8D 50 OZ E? öf
00 BD Si OZ BA Bö 20 50
69 Ci 20 ZE AP 15 85 EZ
BE DO 24 40 CO A? ZA DA
85 19 A9 00 BE 1A AZ SA

rekmektedir: A5 SA CF? OZ DO FF AD 75 Ş19-Ş20, Ş26-Ş2A, ŞAB-ŞAA, — CÜZÜ BD DO Fd AS FO Fİ 09? ŞBO-ŞB1 ve Ş0240-Ş0256 Co78 20 ZE Fi C9 OZ DO EŞ Ağ IF İyi çalışmalar, bol programlı günler 00 BE 85 A? BE AB Dr. Ali Özçelik ga YA 20 EF CE 78 AZ Ol 78 Doso BD Ca 9D BF 02 CA 10 ©B F7 A5 BER CF OZ Bö iZ 9

09 Od AA Bö Câ AF 17
1D 9D 76 OZ CA DO FA Bö 9ü
BR 58 20 BB CO dü 7F Dü 74
/20 ES FO C2 2E Fo EF

Not: Assembler dilinde satırın amacı, yapılacak işlemi (komut) belirtmek ve bu komutun yerine gelmesi için gerekli DATA ve ADRES'i belirtmektir. Komut kısmına “operatör” DATA veya adres kısmına ise

“'operand”” denir. CoCo : F7 C? 20 FO FE 78 AZ 48 E0
Device 1- kaset CoCce : A0 EB BC 90 OZ BE SBF OZ GA
Device 24 Modem CoDO : 58 C9 43 90 OA CD CO CE 90
Device 3—- Ekran : BO OS E9 3D AA DO ÖZ AZ BE
Device Printer COBO : 04 DD OD CD DO 24 Ge BE ZF
Device 8-11— Disk (veri) COEB : BA AA BD CE öD 5SC SF
Divice 15— Disk (komut) * COFO : CO AB ED ÖR CE AA 29 BE
CoOFB : 6D 5D 48 98 48 BA 10 â3
C4 20 EA Ül 40 Z2ü
» BE Ci CA 10 D4 EB Ba 17 0?
Cii0 * AA A? O? BS JA AC OZ A? BÜ
C118 : 18 Dİ 19 DO 68 CE 27
: Bö 10 Fe BA 20 37 Ci E& “50
€128 : AŞ JA CP? DO 90 AF S5
C130 3F 20 SF CE 4€ 7F Tü 60 Gü
Ci38 : 19. 00 78 AE FE Ca AC FF
: 24 BB 10 Od AE SA ÖZ 28
CidB : AC 55 OZ SE 18 03 Bü 19 EF
C150 1-035 AE 52 02 AC 53 02 BE CA
: 14 OZ BC 15 OZ Ad 03
: 29 (AS BD 8D 00 DÜ AS ZA
AB 18 05 AC 19 05 EL FF
FE DO 05 FF Ca
BE 5d OE BE 55 05 Ez
14 8D 02 AD 15 OZ AB
C1B8 BD 53 OZ 7B AZ 47 A0 FE 55
BE 18 05 BC 19 OZ AZ FF Bİ
BE 07 DC EB SE 05 DC 20
Sa OZ 30
1C1DO
İC1EB
İCEZB
Case
C290
CACE
İZEEÖ
CREB
CZ00
OD
BD
ÖE
28
Çele)
1B
A5
74
A2
19
OZ
SE
08
CS
CA
ЕЗ
C9
20
02
C1
F3
AZ
19
СЗ
69
2E
DC
FC
DC
B4
DC
ES
A4
60
iA
19
OZ
OC
c3
Do
197
50
Öğ
C2
20
3 BA
Fo
20
AS
KANİ
40
ZE
Ü6
G0
9D
E8
ÇO
20
AC
DO
68
â4E
E4
48
48
C2
00
68
06
5:3
AF?
AA
20
8D
AF
58
29
85
197
A8
A2
5
AD
8D
60
Bİ
20
iD
A5
60
BD
Oz
KALI
A0
KALI
88
FA
SD
19
E8
21
02
b)
Fo
Da
Fo
Sü
EB
DÜ
ES
GÜ
EE
ÖD
D8
08
8D
B5
Fo
Oz
Si
KAKA
iş
27
DO
iş
A0
Si
20
FE
08
OZ
DO
4C
68 ZO
04
20
AD
AS
20
BS
4А
29
69
OL
SF
20
20
D2
DD
10
С3
DO
20
B7
DD
8D
60
68
D8
8F
01
AS
60
02
02
6B
9D
C2
02
1A
DO
05
02
64
20
AS
69
F1
F1
20
20
OD
BE
85
60
AS
18
19
AD
85
AS
CA
40
CA
DÜ
27
Za
38
10
AB
95
LA
-
OZ
DO
oz
С6
ZA
29
E8
CO
OA
20
20
20
С3
B&D
AD
AS
EŞ
05
19
ÖZ
60
BD
OB
20
Eb
iA
20
EB
AA
E5
30
15
70
1E
04
F6
DA
Ü6
01
05
46
80
6D
ip
79
1B
96
EF
SA
Fo
3F
20
FA
32
38
ES
BS
DA
D4
82
İCZFO
İz400
lc41o
ic418
C4zo
İcazo
0448
10450
(0458
10460
ic478
ic48o
jc478
Jc4Cco
IC4C8
İc4Do
16508
10520
İc530
10538
İc5s4o
lics4g
İcsso
icC558
15
15
F5
20
F4
56
C4
ED
&D
Ci
Fs
D4
04
OZ
OZ
2F
O7
Bo
DO
Üs
20
2C
i0
ki
AF
CE
A9?
04
04
10
68
Fo
ZE
57
EŞ
40
Bâ
e”
20
E8
2020
08
DO
FO
20
20
50
AZ
4Ü
15
Co
C4
C3
85
40
8D
8D
8D
20
AZ
40
BD
Oz
20
Eli
05
00
FF
Fo
A9
OE
2
c9
A0
F?
A0
Ce
Cz
AŞ?
AO
BA
FO
DD
Fo
DO
6D
DO
ŞE
1.7
EA
Fs
30
2F
DO
AA
20
61
OB
88
OO
DD
04
BÜ
56
AO
DD
OZ
85
AZ
85
06
Çele)
85
01
EA
ÖZ
48
Ül
20
Ab
AM
EŞ
SO
AŞ
Ad
Bi
BO
65
BO
2F
AŞ
OZ
zo
F7
Dz
Co
ED
AE
E&
AS
F8
F7
40
29
OZ
FO
EZ
04
20
ca
D4
Oz
DD
FD
DO
Cb
OZ
F4
CZ
AĞ
20
Bi
Bi
1B
20
85
BE
DO
DO
Di
AZ
20
zle)
iF.
BE
C9
4D EŞ
AŞ OO
С3
30 C9
48
18
B5
20
20
00 20
B5 B?
ES“ CE
rağ ra
9D 40
85 BA
EB9 AS
BA
Bo 13
08 A2
61 Ü4
BF DO
AZ SE
A0 AB
Co A0
Fo
90 05
5D Cz
A9 OO
8D 12
AD
A? ÖE
20 AC
04 AÖO
AD Sa
30 04
AZ 04
A0 OO
OZ 20
6D CZ
20 6D
99
85 10
E4 C4
20 20
20 A0
45 09
20 A4
2D 20
27'C2
CA Ab
io F?
FO
95
FD
Fo
DO
Fo
OZ
Fo
20
OB
20
Öl
20
SE
A0
20
95
OC
40
8D
D4
DD
8D
ES
33
AO
40
FO:
DD
EĞ
CZ
OO
20
20
CÜ
DO
A9
i6
45
Dİ
ı1F
CC
A2
KABI
AZ
Fo
04
ES
Fo
AF
BE
So
AA
F3
20
20
2F
ED
AF
09
Bö
A0
AZ
45
FO
BÜ
OB
C3
AA
9g
60
E5
GE
CA
DO
Fo
30
Bg
20
20
ZA

Ek 20 Tm

ONNO

m m TMM

20 45 CZ A9 08 BE BE BE
6D CE-20 10 CE 20 003. on DO
BE 10 FS AZ AS FO Ol 94 Bö BE BR 40
“60 20 DE Ci BO OD 28 40 DÜ eğ
FO Fe A7 S5 AB 20 74 EO DÜ
Co DU OZ 20074 DO G7
C59E bo 14 AS 20 FO FE FA
AZ OZ 68 95 19 CA 10
KERE GA 1D 05 09 do
DO FS A5 20 10
C7A8
EC
1B 68
2C
BA
B0 02
CSEO
DZ
13
OA
64
FF
C610
C618
A2
C818
C3
A6
C638
85
55
OE

SÖKE

20 DE CC G9 OLUFO
DE CA ağ CE Es 420 AS
19 3B FS CE
ÖZ Üs CO
EB EO 04 DO Fö As FF 85
1B 85 16 Cad 15 DO OR A5
1D B5 19 AS 1E Bö 1A 40
ge İF AĞ Ol Bi 19
45 CB Bİ lâ
197 BD 85
üş 40 Fo
AĞ OO AZ
li1A ZO OB
46 Fo Fe
CC 41
15
co dö 98
DA SO BÜ
SF AI
ORA DO 5E dü Bö
Cb Z0 AB >
1: Ol Bi 19 s0
Co70 2D 20-45 As BB El ÜS
"5 Fen mz
Co7B : 04 dü 25 197 ka
Doğü ÖZ 48 AŞ CE? BO 2D
AB AZ 03 S5
iE 20 AB ÜS Bİ
C690
C698
19
С6АВ
СЬво
C4
С3
(BE z
a5 1D DO ÖZ
: DO OZ Ce 1E Ce
1B DO Os A5 1Ü Fü
Zedd Ol
Ce
GA Bİ
AB
ca Do Fa
AM Gö 68 BF
AŞ AF 20141
ge eu ge” eti an .. a s6 sx gü ge az an
en” ee sa gü en s7 en
ye ae ze a8 “se Jan su en ge
C&DU * Bö Da,
CebB : DO 18
20 FF EŞ CA Di
CORE: EŞ A4 DE AT
1 DE 90
CoFB : BS ÜR dü 46
48 Ba dB
C708 3 ZO
© ri
3
zo a0 cü Dü an fi
dü ZF Co 00 FO FS
183 65 19 Bö
69 00 Bö 16 BA
Ez va da |
Bİ 17 G0 G8 10 FE

C0BE C990 C998 C9A0 C9A8 C9B0 C9B8 C9C0 C9C8 C9D0 C9D8 C9E0 C9E8 C9F0 C9F8 CA00

CaoBğ
CALO
CA18
CAZO
CAZB
CAZB
CAd8
CABO
ÇASC
CASE
CAZO
CABO
DAPE
CABO
CABB
CACO
ÇADO
CADE
CAES
CAFO
CB10
CB18

be Vek (ae a m sü a8 ee) 06 an vk Vak Yan ga S8 an ax sz an .. — <- .. iz “ “ an UR “eu ani vu (ce ERİ Se” cemi Ga su “ge Ge an se se

EZ
45
88
Co
DO
OZ
1 1
10
BO
AS
dü
DO
243
Bo
AZ
1€
AS
DD
B4
A
ÖD
CZ
1F
AS
C9
С3
1 B
АА
1C
85
AS
4B
AS
85
BO
8F
bo 2
DO
DE
Cb
CE
40
ba
BD
AF
97
ÖĞ
Fo
19
85
A5
19
Fo
DD
OO
Be
OZ
10
Fo
2F
dö
CE
6D
51
Si
06
dB
20
20
dü
85
15
26
19
AS
60
05
DO
20
18
ZA
40
ES
2D
02
08
AO
20
vere)
DD
CE
DE
AŞ
ZF
FO
4Ü
BL?
85
BA
CA
9D
20
60
GÜ
OZ
Fü
Es
SO
do
Ca
OO
Fo
AS
AZ
20
28
DO
İZİNİ
C9
DD
Fo
Dİ
CS
SE
BE
10
85
Bi
aş vE
iGO
ÖZ
A5
ZA
OZ
*
KAR
20
iAÂ
C3
DO
CA
Ö7
CD
Fo
20
ZO
BÜ
Fo
13
BÜ
E4
CA
DO
ET
85
20
10
20
ZA
CA
CC
AO
CE
Fo
zo
DO
ZF
DD
20
F3
20.
85
BD
ÖE
18
DD,
E8
45
38
20
ce 2
âü
DD
Dö
BD
00
Fa
OZ
20
59
20
Cz
ES
Cd
(39
3F
01
68
C9
60
A
Ea
Fo
C9
19
68
20
2F
65
SD
+C
21
20
20
DO
4C
20
1C
DO
10
B5
AD
85
31
iğ
AS
KA
AŞ
SE
Cz
DD
A?
19
Ab
B5
27
AO
B4
DD
CA
20
OE
ÖF
SE
ib
Kizi
ÜR
4B
DE
40
bA
EŞ
AB
7D
On
DÜ
04
25
Fa
26
Dö
E4
EB
ıB
4B
AZ
14
EL
D7
BE
FE
AE
18
3D
A7
SE
BB
FC
DE
SE
öc
DB
ÜBEB
CEZO
CB78
CEBE
CBAC
CRAB
CERBO
CEBE
CBCÜ
CBCE
ÜBRDO
CBDE
CBEO
CÜBEB
Va
CCs8
CC78
Cüsü
CCAB
CCBO
CCDE
DCEO
ÜCEB
CCFO
CÜF8
DOO
dedı

ve Cen Can” ea (ee sa Ven “aa ee Bu Ver sa at sa aa se cen se gt se Var ge Cas se

(6 #e gu vü ge sa Se se Be ga S7 sa OE za RE ga Ge sa pu mü ön S0 ge #8 az a8 se ga er za

FO
FO
1b
BA
EĞ
DE
O4
CÜ
BO
BO
iB
ES
45
OO
197
A5
KALI
ES
Cd
BE
AO
DD
60
A5
DO
NASI
ÇA
E4
Oil
45
BÜ
AS
B4
di
ED
ZO
bü
BÜ
i0
30
BO
45
AŞ
15
27
a2
EO
âÜ0
Öd
15
iz
71
19
18
C8
08
05
CE
65
dü
AA
DO
1D
1E
20
AA
OO
B5
bÜ
LA
61)
Cd
AB
YA
AŞ
04
SAK
BÜ
a5
20
27
10
AD
45
EF
AS
AS
20
Oi
Ö1
AT?
24
45
17
Ü5
45
20
40
EC
20
28
dö
&7
Oi
20
20
C5
AS
60
20
Bİ
CE
38
E&
BA
dü
DO
AŞ
FD
4C
Üğ
Bo
AŞ
DO
ÖE
ES
48
OZ
30
ED
AĞ
AB
BE
DO
iÖ
FG
Bi
45
AÖO
Bö
20 7
19
ED
AZ
Ci
BA
Bü
dâ
CÜ
İd
EB
74
45
47
ZO
47
197
Fo
DE
hd)
OO
1E
Cd
Ba
Oi
DO
07
zo
C3
AZ
CÜ
17
Ol
A9
Öl
BO
Öl
Co
A5
C5
19
20
04
ÜC
65
85
BO
FO
55
ED
De
20
iş
20
BE
Biz
20
20
FO
*
DO
sis
20
1E
ge
1D
1D
co
19
DO
A4
20
iğ
Eğ
ca 3
Oil
71
40
1E
1D
56
4Ü
CA
ARA
19
10
BY
4A
5D
91
FE
EZ
Sar
Do
AO
Fü
CO
A5
2
gi
DO
90
03
1D
20
78
Dİ
Gü
38
EC
5D
A8
AD
Fo
BO
DO
1F
C4
CO
49
4b
ce
05
CA
84
FO
C8
03
12
1E
28
CA
Oi
ES
Bö
19 56
1A
E5
A5
47
Bo
DO
68
B5
E&
Oz
B4
29
AZ
Hes)
Fz
AŞ
BO
te
ZO
CÜ
dA
AT?
LF
Fb
Eö
1D
1D
Câ
ÇE
OF
Od
20
E4
41

BR CD CDDE

cDao | cosa CDAB Ge

CECB
be VE DO
ve #8 sa Cen sz .. a
a «. gr sü RE sü Sn ax su su
aa gz ar st az sz
an Rt an sü ge az m
an za şa st gu sr ax ge en et sn Sü an gn ga aa ..
an sa ze #8 ga ar
Ber 20
51
53
20
2D
ЗВ
52
4E
43
42
50
56
44
4D
45
59
58
53
4C
4F
50
52
54
45
53
59
54
58
4C 45
S=.
21
2D 2
3D 3
df
58
75
Şi
AA
Bö
Ci
DO
51
41
4E
5b
6C
79
BA
KA)
A4
AE
BA
Di
Lİ
35
45
60
6D
7D
Bü
A5
BO
BÜ
c8
DE
ama
YE
Dö
Dez
55
65
za
Bi
BE
SA
AB
B4
BE
Câa
D8
A9
B5
DO
ce
DE
Faber
OF
7A
CD
D8
A7
Eó
D3
82
60
9F
1 1
64
7B
51
EC
BA
AS
80
F3
24
3F
4F
E8
FE
4B
94
64
ey
Öğ
6D
61
CB
E7
3
48
AC
15
Eğ
Ab
var
CF
Ta
F4
A0
Him
E7
AZ
OC
KE
Öz
GE
DT
GEL”
CF 18
CF 20
CF 28
CF 30
CF 38
CF 40
CF 48
CF50 :
CF58
CF80
CF 68
ZU
CF Ga
yar
CFAB
CF BE
CFCE
CFDE
CEFE

EŞE

Fb
HD
A0
+C
AF
AF
8B
7F
ЗА
B2
CA
CD
91
97
БА
73
76
EE
FE 5
AC
A0
AC 3D
AF
ŞA
ŞE ZE
ЗА ЗА
SE
B2
CA
C7
g4 97 91 DE Gİ
A1 Dü dör Si 77 S1
79
6D
70
49
80
AS
6D
55 95 BEİ 67 Ba
or 55 95 8
32 Ol BC 95 SB BE
Ba
16 la ZA BE BL 55
45 65 76 AL ZE
84 67 la
15 55 55 Bo 33 78

BE 82

e Ol
82
ZA
86
©7
B4
95
85
2A
bö
©