Yazım Kuralı;
beq $s0,$s1,dallanacak_adres
$s0 : karşılaştırılacak 1.register
$s1 : karşılaştırılacak 2. register
dallanacak_adres : eğer 2 register eşitse dallanılacak ana bellek ( RAM ) adresi yada belirlenen etiket
MIPS Assembly Dilindeki Kod;
addi $s0,$s0,5 # burada i değişkenini tanımladım. addi $s1,$s1,6 # burada j değişkenini tanımladım. beq $s0,$s1,esit # i ve j eşitmi onu kontrol ediyorum eğer eşitse esit etiketine dallan. add $s2,$s0,$s1 # eşit değilse burayı yapsın. j cikis # eşit değilin işini yaptıktan sonra aşağıdaki kodun çalışmasını istemiyorum bu yüzden cikis etiketine dallanıyorum. esit: sub $s2,$s0,$s1 # eşitse burayı yapmasını istiyorum. cikis: # karşılaştırma işlemleri bittikten sonraki işlemler...
Yüksek Seviye Programlama Dilindeki Kod;
int i = 5; int j = 6; int sonuc; if( i == j ) sonuc = i - j; else sonuc = i + j;
MIPS Assembly dilinde yazılanla kodla yüksek seviyeli dildeki yazılan kodlar aynı işlemi yapmaktadır bunu kafanıza tam otursun diye yaptım =)