Registers(Kaydediciler):
- Hafıza içerisindeki yerel alanlar için değişken gibi kullanılırlar. Registers çeşitleri:
-> General Purpose Registers (EAX, EBX, ECX, EDX)
-> Segment Registers (CS, DS, SS, ES, FS, GS)
-> Pointer Registers (EIP, EBP, ESP)
-> Index Registers (ESI, EDI)
-> Control Registers (CRD, CR1, CR2, CR3, CR4)
Data Registers:
AX -> Akümülatör Registers.4 işlem operasyonlarında kullanılmaktadır.
BX -> Base Registers.Bellek lokasyonlarında baz adres göstericisi olarak kullanılır.
Yani bir tür 'Index Register' gibi kullanılarbilir.Bu kaydedici 'Data Segment' içerisinde
Bir alanı göstermek için kullanılır.
CX -> Counter Registers.Döngü işlemlerinde sayaç olarak kullanılır yani döngü kaç defa daha
dönecek bunun sayısını tutar.
DX-> Data Registers.Donanım ile yapılan giriş çıkış işlemlerinde kullanılır.
Segment Registers:
CS(CODE SEGMENT) -> Program kodlarının makine dilindeki halleri kod segmentde saklanır.
Çalıştırılacak tüm komutlar buradadır 'CS REGISTER' kod segmentin başlangıç adresini saklar.
DS(DATA SEGMENT) -> Ilk değer atılmış (Initilazed) global ve statik değişkenler 'Data Segment'te
saklanır.'DS REGISTER' data segmentin başlangıç adresini tutar.
SS(STACK SEGMENT) -> Dönüş adresleri yerel fonksiyon değişkenleri ve eski 'EBP' değerleri stack
içerisinde saklanırlar.'SS REGISTER' stack başlangıç adresini saklar.
Pointer Registers:
EIP: Bir sonraki çalışacak olan komutun adresini saklar.
EBP: Stackte referans noktası EBP oluşturur.
ESP: Stack bölgesinin en üst noktasını gösterir.
Buda yukarıda verilen bilgilere dair küçük bir tablo:
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |