Registers

Kategori: MIPS , 12 Ekim 2019 , JanFranco


MARS programını açtığımızda, programın sol tarafında '$' işareti ile başlayan bir çok değişken görüyoruz. Bunlar register'lardır. Açıklamaya $zero ile başlayalım:

$zero özel bir register'dır. 0 değerini tutar. Bu değeri değiştiremeyiz. 0 değerinin tutan bir register mevcut diye, 0 değerine ihtiyaç duyduğumuzda ille de $zero register'ını kullanmak zorunda değiliz.

$at: Assembler temporary anlamına gelir. Biz bu register'ı kullanmayacağız.

$v0-$v1: Return register'ıdırlar. Bir fonksiyondan dönen değeri tutmak için kullanılırlar.

$a1-$a3: a tip registerlar, argümanlar içindir. Yani parametre olarak düşünebiliriz. Bir fonksiyondaki parametrelere kopyalanacak değerler içindir diyebiliriz.

$t0-$t9: t tip registerlar temporary yani geçici registerlardır. Geçici bilgileri saklamak için bu registerları kullanabiliriz.

$s0-$s6: s tip registerlar t tip registerlar gibi bilgi tutarlar ancak bilgileri kaydetme özellikleri vardır.

$k0-$k1: Kernel registerlar.

$gp-$sp: Global alanı ve stacki gösteren pointer registerlardır.

$ra-pc-hi-lo: $ra registerı fonksiyonlar için kullanılır. hi ve lo registerlarını çarpım ve bölme işlemlerinde bolca kullanacağız.


Sonraki Yazı: Hello World in MIPS
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın