rünür. Eğer son elemandan sonra hâ- lâ boş yer kaldıysa bu alan son seçe- neğin kutucuğuna aitmiş gibi görünür ve uygulamada bir problem yarat- maz. GEOS Menü tablosunda 7. bayt menü tipini (yatay-dikey) ve kaç ele- manlı bir menü oluşturulacağını be- lirtir. İki işi birden yapabilmesi için menü tipi baytını (yatay — $0ü; dikey — $80) eleman sayısıyla OR'lar. Yani yedi elemarılı bir dikey menü- müz varsa 7. baytın değeri $87 olur. Sonuçta Menü tablomuzun başı şöyle bir şey olur: TESTMENÜ: .byte 18 ; Menünün üstü .byte 24 ; Menünün altı .word Ü ; Sol kenar “word 319 ; Sağ kenar .word $07 ; Menü tipi OR eleman sayısı MENÜ ELEMANLARININ TANIMLANMASI: Bundan sonraki baytlarda menü elemanları her seçenek için 5 bayt kullanılacak şekilde tanımlanır. Bu baytlardan ilk ikisi seçeneğe ait olan yazının saklandığı bellek alanını gös- terir. Bu alanda seçeneği yazdıktan sonra $00 baytıyla GEOS'a yazı da- talarının bittiğini söyleyebilirsiniz. Üçüncü baytta bu seçeneğin başka bir alt-menü'yü mü yoksa bir servis ru- tinini mi çağıracağı belirlenir (alt- menü — $80; servis rutini - $00). Son iki baytta ise seçenek tipine göre ser- vis rutini veya alt-menü tablosunun başlangıç adresi standart *Low- high, (alçak-yüksek) formatta sakla- nır. (1. Tablo) SEÇENEK TEXT DATALARININ HAZIRLANMASI: Menü elemanlarının text dataları- nı hazırlamak hiç de zor değildir, ama aklınızda tutmanız gereken bir şey vardır; normal ASCIİ karakter- leri GEOS için BÜYÜK HARFLER yerine geçer. Eğer küçük harflerle yazmak isterseniz ASCII kodlarına $20 eklemeniz gerekmektedir. Yani A-$41,a-$61 kodlarıyla saklanır. Yazmak istediğiniz şeyi yazdıktan sonra $00 değeriyle yazılacak textin bittiğini GEOS'a bildirirsiniz. Mese- Vbyte $41, $42, $43, $44, $00 datalarına sahip bir menü elemanı ek- randa ABCD olarak görünür. ALT-MENÜLER Alt-menüler bir menü seçeneği ta- rafından çağırılan menülere verilen addır. Aynı normal menüler gibi bir tanım tablosuna sahiptirler. Bu tanım tablosunun pointeri seçenekle birlikte asıl menü tanımlanırken GEOS'a bil- dirilir. Bir alt-menü tablosu da normal bir menü tablosuyla aynıdır. İlk altı baytla menünün alt, üst, sol, sağ ke- narlarını belirtiriz. Sonraki baytla menü tipi ve eleman sayısı bildirilir ve daha sonra da eleman tanımları tablosu gelir. Yani toplam olarak 5*(eleman sayısı) 4 7 baytlık bir tab- lo gerekir. Bir alt-menü tablosu şöy- le bir şey olabilir: (2. Tablo) 2. TABLO ALT MENÜ .byte 24 şalt menü, ana menünün hemen altından başlıyor .byte 244(8*14)41 ;8 seçenek kadar yer ayarlanıyor “word Ü ;menü kutusunun sol kenarı .word 155 ;menü kutusunun sağ kenarı .byte $88 ;8 elemanlı dikey menü ($80 OR $08) word alttextl ;yazı datası adresi ND .byte $00 ;bir servis rutini çağırılacak altıııemıııı._m .Wword servisl ;servis rutini başlangıç adresi AWord alttext2 ;yazı datası adresi .byte $80 ;alt menü açar «word altmenü2.2 ;alt menü tanım tablosu ;3 satırlık 6 seçenek daha tanımlanacak 1.TABLÖ — MENÜ TEST: byte 10 “Şmenü kutusunun üstü - ,byte 24 ş;menü kutusunun altı “Wworü 0 ;menü kutusunun sol kenarı — aword 255 ş;menü kutusunun sağ kenarı — byte $02 ;yatay menü ($00) OR 2 eleman($02) — wordtextl ;. seçeneğin yazılarının adresi .byte $80 ;bir alt menü açar — , 1, seçenek | — awordaltmenül — şalt menü tanım tablosu adresi word texiğ — ;2, seçeneğin yazılarının adresi 3 , byte $80 ;bir alt-menü açar 2. seçenek word altmenü2 — ;alt menü tanım tablosu adresi