24 Mart 2010 Çarşamba

SAL (Simple Abstract Language ) Komutları

Branch Instruction
b label-->labele git(dallan)
beg a,b,label--> a==b ise labele git
bne a,b,label--> a!=b ise labele git
blt a,b,label--> a<b ise labele git(branch little than)
bgt a,b,label--> a>b ise labele git(a b den büyük ise label yani belitrtilen hedefe git)
ble a,b,label--> a<=b ise labele git
bge a,b,label--> a>=b ise labele git(a b den büyük veya eşitse labele git)
bltz a,label--> a<0 ise labele git(a sıfır(0) dan küçükse label olarak isimlendirilen yere git)
bgtz a,label--> a>0 ise labele git
blez a,label--> a<=0 ise labele git
bgez a,label--> a>=0 ise labele git
beqz a,label--> a==0 ise labele git
bnez a,label-->a!=0 a<>0 yanı a sıfıra eşit değilse labele git
    Communicatin Instruction
get a --> scanf("%d",&a); girilen değeri oku ve a ya ata
put a -->printf(a); a değerini yaz. a tek ise(float, byte, word)
puts a -->printf(a); a değerini yaz.Burada a bir stringtir.a(string yanı asciiz) ise
Örneğin satir: .asciiz "Bir deger gir"
deger1: .word 0 -->deger1 değişkeni ve ilk değeri de sıfırdır.
yenisatir: .byte '\n' -->bu değişken put yenisatir yazılınca alt satıra geçilir.
add i,i,1 -->i=i+1
div a,b,c -->a=b/c b ile c yi böl ve sonucu a ya ata
move a,b -->a=b b değerini a ya at. a=20 gibi
mul a,b,c -->a=b*c b ile c yi çarp sonucu a ya ata.
sub a,b,c -->a=b-c b ile c nin farkını a ya ata
la  a,dizi -->dizinin başlangıç adresini a ya ata.Dizi ismi diznin başlangış adresidir.

rem a,b,c—> a=b%c –>b mod c nin sonucunu a ya ata

1 yorum: