Bilgisayar programlama ve bilgisayar mimarisinde, bir indeks yazmacı, genellikle bellek adreslerinde adım atmak veya döngü gibi işlemleri takip etmek için çok hızlı bir sayaç olarak kullanılmak üzere merkezi işlem ünitesine (CPU) yerleştirilmiş bir bellek alanıdır. Sistem mimarisinin türüne bağlı olarak, bir dizin kaydı diğer işlemci kayıtları arasında tanımlanmış ve tahsis edilmiş bir kayıt defteri olabilir veya herhangi bir genel amaçlı kayıt defteri olabilir. En sık olarak, bir endeks yazıcısı, bir hafıza konumunun mevcut ofsetini tutar, bir başka kayıt baz adresini tutar, böylece iki yazmacın birleşimi tamamlanmış bir hafıza adresi oluşturur. Dizin yazmacının özel işlevlerinden biri, biri CPU tarafından özel olarak belirlendiğinde, bellek adresleri arasında gerektiğinde artırılarak veya azaltılarak kolayca adım atmak için kullanılabildiği için, diziler ve yığınlar gibi veri yapılarının dolaşılabilmesidir. .
Bir bilgisayarın CPU'suna kaydedilen endeks, genellikle bir programcı tarafından derleme dili veya benzer bir düşük seviye programlama dili kullanılarak doğrudan erişilebilen inanılmaz derecede düşük seviyeli bellek alanlarıdır. Daha yaygın olan bazı işlemci türlerinde, iki ayrı kayıt dizin kaynak olarak tanımlanır, yani kaynak dizin (SI) ve hedef dizin (DI) kayıtları. Diğer işlemciler özel olarak endeks kayıtlarına veya bunları gerektiren destekleyici operatörlere sahip değildir, yani uygun büyüklükteki herhangi bir genel amaçlı kayıt kullanılabilir.
Bir dizin kaydı için en sık kullanılan kullanımlardan biri, sırayla erişilmesi gereken bir veri akışını tutan bir hafıza konumuna işaretçi olarak davranmaktır. Tüm öğelerin ardışık olarak bellekte düzenlendiği bir veri dizisi kullanılırken bir örnek görülebilir. Dizin kaydı bir diziye erişmek için kullanılıyorsa, o zaman erişilen öğenin karşılık gelen değerini, veri segmenti kaydı gibi bir temel adresi tutan başka bir kayıt defterine eklendiğinde tutabilir. Bu, boş sonlandırılmış bir dizginin içeriğini bir kaynak konumdan bir hedef dizgiye kopyalamak gibi prosedürlerin tamamlanmasını çok kolaylaştırabilir.
Dizin kaydı için başka bir kullanım, döngüler ve diğer sayıcılar hakkında bilgi tutmak olabilir. Bazı sistem mimarileri, bir döngüde meydana gelen yineleme sayısını tutmak için dizin kaydını kullanmayı tercih etse de, diğer zamanlarda herhangi bir kayıt kullanılabilir. Ek olarak, bazı montaj talimatları, ekrana bilgi göndermek için yapılabileceği gibi, bellek okuma veya yazma gibi belirli işlemleri gerçekleştirmek için özellikle kaynak ve hedef dizin kayıtlarına dayanır.


