Editör Simgesel Dil Benzetici

RISC I Simgesel Dili
Sözde komutlar


RISC I Simgesel Dili

RISC I simgesel dilinde toplam 31 buyruk bulunmaktadır. Bu dökümanda buyruklara çok kısaca değinilecek olup işlemcinin komut tablosuna
http://www.buzluca.info/mimari/berkeleyrisc1.jpg
veya
http://gokhan.sekers.net/risc1/ktablo.htm
adreslerinden ulaşılabilir.

Geçerli buyruklar sonlarına "&" karakteri ilave edilmesi durumunda durum kütüğü bayraklarını etkilemeden çalışmaktadır.

Bu benzetim programında onaltılık düzendeki değerler başlarında bir "$" işaretiyle işaretlenmektedir. İşlemci karmaşık adresleme yöntemlerini desteklemediğinden ve simgesel dil programlarında kullanılan tüm sayısal değer ve semboller ivedi veri olduğundan ivedi veriyi belirtmek için bir işaret kullanılmasına gerek yoktur. Sembol adları bir harf ile başlamalı ve en fazla 8 karakter uzunluğunda alfanümerik karakterlerden oluşmalıdır. Büyük küçük harf ayrımı yapılmamaktadır(START ile start aynı sembolü ifade eder) Saklayıcılar R## biçiminde belirtilir

Komutlar:

Aritmetik, Mantıksal ve Kaydırma işlemleri toplam 12 tanedir. Bu buyruklar 3 işlenen alır. Birinci ve üçüncü işlenen bir saklayıcı olmak zorundayken ikinci işlenen bir saklayıcı veya 13 bit ile ifade edilebilecek bir işaretli tamsayı değer(veya böyle bir değer taşıyan sembol) olabilir. Birinci ve ikinci işlenenler işlemin kaynaklarını belirtirken üçüncü işlenen sonucun yazılacağı saklayıcıyı belirler. (Üçüncü işlenenin donanımsal olarak sıfıra çekilmiş R0 olması durumunda sonuç hiçbir yere yazılmaz.)
Kullanım biçimleri:
BUYRUK Rxx,Ryy,Rzz
(Örn. ADD R15,R7,R3)
BUYRUK Rxx,[-][$] yyyyy,Rzz
(Örn. AND R7,$FF000000,R3)
BUYRUK Rxx,SEMBOL,Rzz
(Örn. ADD R0,DIZI,R7)

Bu kategorideki buyruklar
ADD, ADDC, SUB, SUBC, SUBR, SUBCR, AND, OR, XOR, SLL, SRL ve SRA buyruklarıdır.

Bellek erişim komutları toplam 8 tane olup 8-16-32 bitlik veri erişimi yapılabilmektedir. Bu 8 buyruğun beşi yükleme (LOAD) üç tanesi ise saklama (STORE) buyruklarıdır. aldıkları üç işlenenden bir ve üçüncüsü saklayıcı olmak zorundadır, ikinci işlenen bir saklayıcı veya 13 bitlik işaretli sayı olarak ifade edilecek bir tamsayı değer (veya böyle bir değer taşıyan sembol) olabilir. İlk iki işlenen toplanarak etkin adres bulunmakta ve üçüncü işlenen olarak verilen saklayıcı ile etkin adresin gösterdiği bellek gözleri arasında veri aktarımı gerçekleştirilmektedir.
Kullanım biçimleri:
BUYRUK (Rxx)Ryy,Rzz
[Örn. LDL (R20)R24,R9]
BUYRUK (Rxx)[-][$]yyyyy,Rzz [Örn. LDL (R20)-10,R9]
BUYRUK (Rxx)Ryy,Rzz [Örn. LDL (R0)TOPLAM,R9]

Bu kategorideki buyruklar
LDL, LDSU, LDSS, LDBU, LDBS, STL,STS ve STB buyruklarıdır.

Dallanma buyrukları kati(JMP) ve bağıl(JMPR) dallanma buyruklarıdır. Dallanma koşulları standart PDP-11 dallanma koşulları olup bu koşulların listesine
http://gokhan.sekers.net/risc1/dallanma.pdf
adresinden ulaşılabilir.
Kullanım biçimleri:
JMP CON,Ryy(Rxx)
[Örn. JMP BNE, R7(R9)]
JMP CON,[-][$]yyyyy(Rxx)
[Örn. JMP BGE,$68(R7)]
JMP CON,SEMBOL(Rxx)
[Örn. JMP BRA, DEVAM(R0)]
JMPR CON,[-][$]yyyyyy
[Örn. JMPR BCC, $3000]
JMPR CON,SEMBOL
[Örn. JMPR BHI,YUKSEK]

Altprogram çağrıları kati(CALL), bağıl(CALLR) bağlanma ve kesme çağrısı(CALLINT) buyrukları ile yapılır.
Kullanım biçimleri:
CALL Ryy(Rxx),Rzz
[Örn. CALL R27(R0),R13]
CALL [-][$]yyyyy(Rxx),Rzz
[Örn. CALL 15(R23),R14]
CALL SEMBOL(Rxx),Rzz [Örn. CALL TOPLA(R0),R12]
CALLR [-][$]yyyyy,Rzz [Örn. CALLR $200,R14]
CALLR SEMBOL,Rzz [Örn. CALLR CARP,R13]
CALLINT Rzz (Örn. CALLINT R9)

Altprogram ve kesmeden dönüş için RET ve RETINT buyrukları kullanılır.
Kullanım biçimleri:
BUYRUK (Rxx)Ryy
[Örn. RET (R28)R0]
BUYRUK (Rxx)[-][$]yyyyy [Örn. RET (R28)0]
BUYRUK (Rxx)SEMBOL [Örn. RETINT (R28)DONUS]

LDHI buyruğu 32 bitlik saklayıcıların yüksek anlamlı 9 bitine değer yüklemek için kullanılır(Düşük anlamlı 13 bit 0)
Kullanım biçimleri:
LDHI [-][$]yyyyy,Rzz
(Örn. LDHI -1,R7)
LDHI SEMBOL,Rzz
(Örn. LDHI ILERI,R19)

Durum kütüğü ve program sayacı üzerinde işlem yapan buyruklar olan GTLPC, GETPSW, PUTPSW buyrukları işlenen olarak tek bir saklayıcı alıp sırasıyla program sayacı değerini saklayıcıya yazma, durum kütüğü bayraklarının değerini saklayıcıya yazma ve durum kütüğü bayraklarını saklayıcıdaki değere göre ayarlama işlerini yaparlar.
Kullanım biçimi:
BUYRUK Rzz
(Örn. GTLPC R22)