TABLO OKUMA YAZMA

Tablo veya listelerin assembly dilinde kullanımı ;
Listemize bir isim veriyoruz. Bu  isim değişken olarak veya başka bir şekilde programımız içinde kullanılmamış olmamlı.

Örneğin sayiliste olsun
sayiliste da "576433105289475862511"
şeklinde assembly koduna ekliyoruz.
isimden sonra eklediğimiz da dw dt db gibi tanımlamalar olmalı
dt dışındakiler  pek farketmiyor. ancak dt kullanınca mutlaka her satır sonuna retlw konulmalı.

sayiliste:
 db 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07
 da 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5b, 0x79, 0x71
görüldüğü gibi db veya da ile 2 baytlık veri üstteki gibi yazılarak okunabiliyor...
Aynı zamanda db ile karakterleri tek tek okuyabiliriz.
mesajliste
     db "4-satir-LCD"
     db "calismasi"

da,db  : 8 bitlik  genel kullanım.(bayt)
dw : 16 bitlik veri okur.  (word)

listeleri baştan belirteceğimiz gibi sonradan da oluşturup ekliyebiliriz.

assembly dosyasına
sayiliste da "576433105289475862511"
gibi bir liste oluşturduktan sonra içindeki her veriye sırayla nasıl ulaşacağız?

        MOVLW LOW(sayiliste)
movwf TBLPTRL
MOVLW HIGH(sayiliste)
movwf TBLPTRH
clrf   TBLPTRU

ile önce listemizin bulunduğu adrese gidiyoruz.
sonra listede kaçıncı veriyi okuyacaksak onu ekliyoruz.  diyelim 5. veriyi okuyacağız..
      movlw 5
      addwf TBLPTRL, 1

kodlarıyla istediğim,z verinin adresini girdik. şimdi okuyalım..

    TBLRD*+
    movf TABLAT,0
    movwf degisken

bu komutla tablodan aldığımız veriyi istediğimiz değişkende tutarız...


    peki listeye yeni veri ekleme veya mevcut değeri deiştirmek istersek ne yapmalıyız...

yine yukarıdaki gibi veri ekliyeceğimiz adrese gideriz. sonra diyelim ki 148 değerini yazalım.

   movlw .148
   movwf  TABLAT
   TBLWT*+

bu kodlarlada listeye  istediğimiz değeri yüklemiş oluruz.