Picproje Elektronik Sitesi

DERLEYİCİLER => PIC Assembly => Konuyu başlatan: zenze - 05 Kasım 2008, 11:16:29

Başlık: $+1
Gönderen: zenze - 05 Kasım 2008, 11:16:29
Bir asm kodda :

gecikme_10US
           goto $+1
           goto $+1
return
şeklinde gecikme alt programı kullanılmış.
Programda $+1 şeklinde bir etiket yok´ goto $+1 özel bir komut şeklimidir ? Devrede 4Mhz osc kullanılıyor
Başlık: $+1
Gönderen: sigmoid - 05 Kasım 2008, 11:29:02
$ komutun olduğu adres demektir.

goto $+1 ile de bir sonraki satıra git demiş. bu sayede 2cyclelık geçimesağlanmış olunur. benzer şekilde goto $-1 de bir önceki satır demektir.
Başlık: Re: $+1
Gönderen: arslan74 - 05 Kasım 2008, 11:36:45
Alıntı yapılan: "zenze"Bir asm kodda :

gecikme_10US
           goto $+1
           goto $+1
return
şeklinde gecikme alt programı kullanılmış.
Programda $+1 şeklinde bir etiket yok´ goto $+1 özel bir komut şeklimidir ? Devrede 4Mhz osc kullanılıyor

Merhaba,

Burada "$" işareti anlamı kodun bulundu adesi ifade eder.

"$+1" ise bulunduğun adesin bir ileri adesini gösteriyor.


goto $+1   ; alt satıra git
goto $+1   ; alt satıra git
return     ; geri dön.



Selamlar
Başlık: $+1
Gönderen: ete - 05 Kasım 2008, 11:38:54
Genelde hassas zaman ayarları yapılan gecikme alt programlarında kullanılan bir mantıktır. 4 MHz lik osilatör kullanılan bir picde bir program çevrimi 1 us lik gecikme yaratır. Bu komut (goto komutu) ile 1 us  ile ve (+1) ilede ilave 1 us olmak üzere 2 us lik bir gecikme yaratılır. Tabiiki her bir komutun anlamlı olması gerekir. Bununda anlamı komutun yazıldığı satırdan bir sonraki komuta atla şeklindedir.  Aslında bu komutu yazmasanızda program tabii akışı içerisinde bir sonraki satır atlayacaktır. Ancak burada amaç bir gecikme yaratmak olduğu için bu işlem 2 us lik bir gecikme ile yapılmış olacaktır.

Ete
Başlık: $+1
Gönderen: zenze - 05 Kasım 2008, 13:46:49
CALL gecikme _10US              (2)
*
*
gecikme_10US               ETİKETİN İŞLENMESİ KAÇ CLOCK FİKRİM YOK  
goto $+1                       (2)
goto $+1                       (2)
return                           (2)  

TOPLAM 8 + ?(2) clock .1us den toplam 8+? us gecikme oluyor sanıyorum. ? kayıp iki clock da etiket yada başka bir şey.
Başlık: $+1
Gönderen: Tagli - 05 Kasım 2008, 17:38:23
Etikette kayıp olmaz, çünkü zaten gerçekte etiket diye birşey yoktur. Bence 1 tane "goto $+1" eksik yazılmış. Veya belki de bu bölüm başka bir page'dedir ve çağrılmadan önce pageselw gibi birşey yapılıyordur ama pek sanmıyorum...
Başlık: $+1
Gönderen: zenze - 05 Kasım 2008, 19:53:30
hepinize teşekkür ederim