$+1

Başlatan zenze, 05 Kasım 2008, 11:16:29

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

sigmoid

$ 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.

arslan74

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

ete

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
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

zenze

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.

Tagli

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...
Gökçe Tağlıoğlu

zenze

hepinize teşekkür ederim