[]

16F877 Mikroişlemci
Sevgili san antonio spurslüler, sorum birçok yerde cevabı varmış gibi gözükse de düzgün ve anlaşılır bir cevabını kafamda oturtamadığım birşey..
16F877 mikro işlemcilerinde (ve yine o ailedeki işlemcilerde)
call ve go to komutları arasında ki fark nedir?
açıklarken basit birde örnek yazarsanız çok sevinirim.
16F877 mikro işlemcilerinde (ve yine o ailedeki işlemcilerde)
call ve go to komutları arasında ki fark nedir?
açıklarken basit birde örnek yazarsanız çok sevinirim.

PIC ile bir isim olmadi fakat muhtemelen CALL HEDE, HEDEdeki kodlari calistirip bitirince kaldigi satirdan devam edecek, GO TO HODO ise HODOye gidecek ve artik direk hododen devam edecek. x86 assembly mantigi bu tabi degisik olabilir.
- erich
(15.04.10 19:39:57)

dogrudan istedigin islemciye ozgu bir cevap olmasa da, yaklasimi belirteyim. call, bir subroutine'i cagirmak icin kullanilan komut. goto ise, bir adrese kosulsuz dallanmak icin gerekli. (adres yerine etiket de gelebilir, ayni sey)
call bir subroutine cagirdigi icin, subroutine cagirilmasi esnasinda gerceklesmesi gereken prosedurler burada gerceklestirilir. Ornegin, geri donus adresinin (yani call cagrisi yapildigi anda, instruction pointer'in bulundugu adresin) stack'te (ya da benzeri yapi ne ise orada) saklanmasi gerekir, ki subroutine sonlandiginda islem kaldigi yerden devam edebilsin.
Goto, bir subroutine cagirmaz, instruction pointer'a verilen adresi yazar. mikroislemci de sonraki adimda instruction pointer'daki adresi okur ve o adresteki komutu calistirir.
Aradaki fark, subroutine calling conventions dedigimiz islemleri yapilmamasi diyeyim. (turkcelestirsem maymuna doner diye boyle yazdim)
call bir subroutine cagirdigi icin, subroutine cagirilmasi esnasinda gerceklesmesi gereken prosedurler burada gerceklestirilir. Ornegin, geri donus adresinin (yani call cagrisi yapildigi anda, instruction pointer'in bulundugu adresin) stack'te (ya da benzeri yapi ne ise orada) saklanmasi gerekir, ki subroutine sonlandiginda islem kaldigi yerden devam edebilsin.
Goto, bir subroutine cagirmaz, instruction pointer'a verilen adresi yazar. mikroislemci de sonraki adimda instruction pointer'daki adresi okur ve o adresteki komutu calistirir.
Aradaki fark, subroutine calling conventions dedigimiz islemleri yapilmamasi diyeyim. (turkcelestirsem maymuna doner diye boyle yazdim)
- lightblue
(15.04.10 19:42:36)
1