4 Haziran 2010 Cuma

assembly 80-80 Branch ve jump kullanımı

branch'in kelime anlamı dallanmak demektir,branchde  bir durumun kontrolü yapılır,ona  dallanma olur.
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:

 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri