MIPS Assembly bne

Tanım;

  • bne( Branch on not equal ) türkçe anlamıyla "eşit değilse dallan"dır.
  • Bu komutla 2 registeri karşılaştırıp eşit değilse istenilen adrese dallanılabilir.


Yazım Kuralı;

bne $s0,$s1,dallanacak_adres

$s0 : karşılaştırma yapılacak 1. register

$s1 : karşılaştırma yapılacak 2. register

dallanacak_adres : eğer 2 register eşit değilse dallanılacak ana bellek ( RAM ) adresi yada belirlenen etiket


Örnek;

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.

		   	   bne $s0,$s1,esitdegil # i ve j eşitmi onu kontrol ediyorum eğer eşit değilse esitdegil etiketine dallan.
			   add	$s2,$s0,$s1	# eşitse burayı yapsın.
			   j	cikis		# eşitin işini yaptıktan sonra aşağıdaki kodun çalışmasını istemiyorum bu yüzden cikis etiketine dallanıyorum.
esitdegil:	sub	$s2,$s0,$s1	# eşit değilse 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;

NOT : MIPS Assembly ve Yüksek seviyede yazılan dildeki kodlar aynı işlemleri yapmaktadır.

Yorumlar

Bu gönderi için yorum yapılmadı.