Değişkenler

Parent Previous Next

Bir CPU işlem yaptırmanız için bazı alanlara ihtiyacınız olacaktır. Örnek olarak iki sayının toplamını yaptırmak isteyelim:


123+987=1110


İşleminde CPU verilen iki hafıza alanındaki sayısal değeri CPU üzerindeki yazmaç alanlarına aktarır.

Sonra bu iki sayının toplamını yine bir başka yazmaç alanına aktarır.


Bu yazmaç olarak adlanrılan alanlar sürekli aynı amaçlarla kullanıldığı için CPU ikinci iş emri geldiğinde (sonraki komut) bu yazmaçları unutacaktır. Bu sayıları daha sonra bir başka amaçlar kullanmak istediğimizde ise saklamamız gerekmektedir.


Bu işlemi ise en hızlı RAM bölgesinde yapabiliriz. RAM ise içerisinde bir çok bilginin tutulduğu alan olduğu için derleyiciler bu RAM bölgelerine ulaşmak için bazı adreslemeleri kullanmak zorundadırlar. RAM içerisindeki bilgiler şuna benzer:


Adres: 0214F410: 7b 00 00 00 50 6a 1b 00 e0 8e 1b 00 28 f4 14 02 6e 86 4f 00 e0 8e 1b 00 34 f4 14 02 1f 08 51 00 e0 8e 1b 00 44 f4 14 02 76 0e 51 00 00 00 00 00 e0 8e 1b 00 50 f4 14 02 d1 14 51 00 e0 8e 1b 00 60 f4 14 02 4a 07 51 00 e0 8e 1b 00 c0 f7 14 02 d0...


İçerisindeki değer ise:


7b = 123 diğer alanlar ise o anda geçici bilgilerdir.



Diğer sayısal değer ise farklı bir adreste bulunur:


0214F40C: db 03 00 00 7b 00 00 00 50 6a 1b 00 e0 8e 1b 00 28 f4 14 02 6e 86 4f 00 e0 8e 1b 00 34 f4 14 02 1f 08 51 00 e0 8e 1b 00 44 f4 14 02 76 0e 51 00 00 00 00 00 e0 8e 1b 00 50 f4 14 02 d1 14 51 00 e0 8e 1b 00 60 f4 14 02 4a 07 51 00 e0 8e 1b 00 c0...


db03 = 03db = 987 (Daha sonra tekrar örneklemeler yapacağız...)



Derleyiciler bu tür karışıklıkları önlemek için her hafıza alanını değişken adı verilen göstergelerde saklar.

Lazarus değişken tanımı için "Var" terimini kullanır.


Var bloğundan sonra değişken adı ve değişken tipi iki nokta üst üste ile belirlenir her tanım noktalı virgül ile biter:


Var

 degisken : tip;

 degisken_dizi : array of tip;



Örnek tanımlar:

Var

 str : string;

 num : integer;

 ok : boolean;

 listem : array[1..1000] of string;.

.

.

.



Şimdi bunların her birini inceleyelim...





Created with the Personal Edition of HelpNDoc: Full-featured EPub generator