assemby 80-80de 2 tane branch komutu vardır:
BRN:branch on negative (negatife dallan) demektir,sayının negatif olup olmadığını kontrol eder,sayı negatif ise sonraki satırı atlayıp onun altındaki satırdan devam eder,negatif değilse de normal sırada devam eder.
BRZ:branch on zero (sıfıra dallan) demektir,sayının 0 olup olmadığını kontrol eder,0 ise alttaki satırı atlar,devam eder;0 değilse de normal sırayı takip eder.
jump'ın kelime anlamı atla,zıpla demektir,jump komutu geldiği zaman kod akışı jump edilen adresten devam eder.
örnek bir kodu inceleyelim:
bir sayının mutlak değerini bulan assembly kodu yazınız,sayı 20 hex adresindedir,mutlak değeri de 20 hex değerine yazınız,r2 ile point ediliyor.
1 LDI r5,7 ;jump yapabileceği adresin değerini r5 registerında tutuyorum
2 LD r1,r2 ;mutlak değeri alınacak sayıyı r2den r1 registeriına atıyorum
3 BRN r1 ;sayının negatif olup olmadığına bakıyorum
4 JMP r5 ;negatif değilse birşey yapmaya gerek yok,7. satırdaki komutu işle,yani çıkış
5 NOT r1,r1 ;negatifse tersini al,pozitif yap
6 ST r2,r1 ;tersini aldığın sayıyı yerine yükle
7 Halt ;bitir
DERYA GÜNDÜZ
Hiç yorum yok:
Yorum Gönder