VIRGULDENSONRASIZ 123,4567 ya da DEGER -— 123,4567 VIRGULDENSONRASIZ komutları yeterlidir. Ekranda 123 de- ğeri görünecektir. Eğer BASIC bir komutu tanımıyorsa, bu isimde bir prosedürü arayacaktır. Bu, prosedü- rün ilk satırında PROC sözcüğünün hemen ardında yer alıyor. Eğer bu ta- nınmayan komutun ardında bazı ve- riler de varsa, bunlar prosedür adı- nın ardından gelen parantez içindeki değişkende saklanır. Verilerin bu şe- kilde bir prosedüre aktyarılması işle- mi, “parametrelerin aktarımı” ola- rak da adlandırılır. Prosedürün yeri- ne getirilmesinden sonra daha önce- ki bilinmeyen komuttan hemen son- ra gelen komut yerine getirilir. Son verilen komutla program akışı içine prosedürlerin alınması da ““prosedür- lerin çağrılması” olarak adlandırılır. Ama kural olarak programcı vir- gülden önceki haneleri basmak değil, daha ileride kullanılmak üzere bir de- ğişkene atamak ister. Bu işlem fonk- siyonlarla yapılabilir, ama AMIGA BASIC'te buna olanak yoktur. Bu bağlamda AMIGA BASIC biraz za- yıf kalmaktadır. Şimdi vereceğimiz örneği deneme- ye kalkışmayın, çünkü zaten çalışma- yacaktır. : FUNC VIRGULDENSONRASIZ Bu örneğin farklı olduğu noktalar, FUNC tanımlaması ve sondan bir ev- velki satırdır. Fonksiyona da bir de- *“Bğer aktarılmaktadır. Prosedürden farklı olarak bir fonksiyon RETURN ile bir değeri geri verir. Ama çağıran komut bu değerin ne yapılması gerek- tiğini belirtmek zorunda olduğundan, bir fonksiyon çağrısı bir prosedür çağrısından farklı bir görünümdedir. Örnek: YALNIZVIRGULDENÖONCE — VIRGULDENSONRASIZ(123,4567) ya da PRINT VIRGULDENSONRASIZ (123,4567) Bir fonksiyona aktyarılacak olan değerler (parametreler) kural olarak parantez içinde yazılır. Son komut ayrıca prosedürle aynı “fonksiyona” sahiptir. Fonksiyonlar ve prosedürler, çok pratik olmaları nedeniyle, tüm prog- ramlama dilleri bunlardan bir sürü oluşturmuş durumdadır. Örneğin BASIC dilinde INT fonksiyonu var- dır. Bu fonksiyon bir sayının virgül- den sonraki hanelerini keser: PRINT INT (765,4321) Prensip olarak BASIC'te her oluş- turulmuş komut bir prosedürdür. Bu cümle biraz kaba olabilir, ama AMI- GA'da BASIC'i anlayabilmenin mutu teşhis eder ve tanıdıktan sonra gerekli adımları yerine getirecek olan bir iç prosedürü çağırır. Bu iç prose- dürler ve fonksiyonlar ve hatta BA- SIC'in kendisi, bellekte makine dili komutları halinde bulunurlar. Mik- roişlemci bunları anlayabilir ve yeri- ne getirebilir. Bu iş bu kadar basit. BASIC'te her komut için karşılık gelen bir iç prosedür yoktur. Prose- dürlerin birçoğu AMIĞA'nın ROM"- unda (Read Önly Memory - Salt Okunur Bellek) bulunur. Bunlar fonksiyonlarına göre kitaplıklarda (İngilizce: Library) biraraya toplan- mış durumdadırlar. Örneğin çizgiler, dikdörtgenler ve çemberler çizmek için grafik komutlar “graphics.lib- rary''de bulunur. Ekran ve pencere yönetimini ise “intuition.library”'nin prosedürleri üstlenmiştir. BASIC programını terketmeden önce, yeteneklerinden son bir örnek verelim. Aşağıdaki döküm, “az emek harcayarak, çok verim elde etmek” sloganına oldukça uygundur: WEHİLE INKEY$- * *” xl — RND * 630 x2 — RND * 630 yl — RND * 200 y2 — RND * 200 f # RND*3 4 04 LIİNE (x1,yl)-(x2,y2),f,bf WEND (SAYI) anahtarı da bu cümlededir. S - SAYI BASIC'in kendisi de bir program- AMIGA BASIC'in en basit ve ay- WEHILE S <- | dır. BASIC'in bir kısmı (büyükçebir — nı zamanda en çokyönlü grafik ko- S- S—İ prosedür), kullanıcıya BASIC dö- — mutlarından biri LINE'dır. LIİNE ile WEND kümleri alma olanağı verir. Bu kıs- — hem çizgiler hem de dikdörtgenler çi- SAYI - SAYI—S5 ma editör adı verilir. Kullanıcı prog- — zilebilir. Bu iş için LINE'ın 1. köşe, RETURN 5S ramının başlangıcında BASIC prog- — 2. köşe ve renk parametrelerine ihti- END FUNC ramı, tek tek her satırı “görür”', ko- — yacı vardır. Örneğin; 00110014 11111001 (MOVE) e 00000000 00000000 | (707) MOVE 707,4711 —- ÇEVİRMEN — A 00000010 11000011 00000000., 00000000 : (4711) 00010010 01100111 Assembler ASSEMBLER Makine dili 62 Assembler komutları işlemci komutları için kolayca anlaşılabilecek ifadelerdir.