Assembly Alıştırmalarım

Başlatan Extreme, 15 Eylül 2014, 09:25:39

FEHMİ_ASM

  Evet @Extreme, aynı işlemi yapar. Zaten banksel derleyici bildirisinin amacı Status'un bank kontrol bitleri (rp1 ve rp0) ile uğraşılmayıp daha anlaşılır olması ve bank seçiminin (kullanıcı tarafından) hatasız yapılması için.
Benzer kullanım pagesel bildirisi için de geçerli.
Hz.Hamza'nın Belinde İki Kılıç Duruyor ! Attığı Her Adım Bir Kalbi Durduruyor ! Ey Hamza ! Gördüğün Hiçbir Şeyden Korkmazsın , Bu Doğru Ama Heybetini Gizli Tut , Yürüyüşün Ölümü Korkutuyor !  İşte Hz.Ömer ve Hz.Ali , Biri Hattaboğlu , Biri Haydâr-ı Kerrar ! Ve Kolkola Ölümün Ağzına Giriyorlar !  Azrai

Extreme

Alıntı yapılan: FEHMİ_ASM - 15 Ekim 2014, 18:20:12
  Evet @Extreme, aynı işlemi yapar. Zaten banksel derleyici bildirisinin amacı Status'un bank kontrol bitleri (rp1 ve rp0) ile uğraşılmayıp daha anlaşılır olması ve bank seçiminin (kullanıcı tarafından) hatasız yapılması için.
Benzer kullanım pagesel bildirisi için de geçerli.

pagesel bildirisi de PCLATH registerıyla mı ilgili ?

Yazılımcı PCLATH değişkenini interruptın başında PCLATH_temp değişkenine atmış(yorum olarak da sadece 1,2 ve 3.sayfalar kullanıldıysa demiş)
interruptın sonundada onu geri almış.?

PCLATH ne işe yarar ? yazılımcı burda neyi hedeflemiş ? pagesel ne işe yarar ?

Tagli

Zamanında burada açıklamaya çalışmıştım.
Gökçe Tağlıoğlu

Extreme

Alıntı yapılan: Tagli - 16 Ekim 2014, 10:59:00
Zamanında burada açıklamaya çalışmıştım.

Sorumun cevabını bu topicde bulacağıma eminim zaman bulur bulmaz inceleyeceğim.

Bir şey daha sormak istiyorum basit bir soru gibi

                        CLRF		        dak10_say_0
			CLRF		        dak10_say_1
			MOVLW		D'30'
			MOVWF		dak10_say_2
BASLA

			DECFSZ		dak10_say_0,f
			GOTO		SON
			DECFSZ		dak10_say_1,f
			GOTO		SON
			DECFSZ		dak10_say_2,f
			GOTO		SON
			MOVLW		D'30'
			MOVWF		dak10_say_2
			GOTO		SON



SON


Benim anladığım
dak10_say_0 = 0 olarak işleme başlıyor.
daha sonra decfsz ile -1 azaltılıyor.dak_10_say_0 =-1 oluyor ve "SON" gidiyor.
yani hiç bir zaman diğer sayaçlara gelmiyor.
10mhz kristal kullanılmıştır.

Doğru mu anladım ?
Herhangi bir değişken böyle -1 olabilir mi ?

Beni aydınlatırsanız çok sevinirim.

RaMu

Olur ama olmaz,
yani gerçekte olmaz,
bunun için başka dalavereler yapıyoruz,
sayı gerçekte hep pozitif oluyor ama misal
7. bit 1 ise sayı negatif olsun diye düşünüyoruz.

Senin verdiğin örnekte 0 olan sayıyı bir defa azaltırsan 255 olur,
yani döngüye 255 yükleyip azaltarak saydırmak yerine 0 yükleyip saydırıyor,
ne faydası var,
movlw ile atama yapmak zorunda kalmıyor,
1 komut tasarruf etti,
ve 255 demesinden 1 defa daha fazla sayma yapabilmiş oldu,
yani 256 dan geriye sayma yapıyor gibi oldu.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Extreme

Alıntı yapılan: RaMu - 17 Ekim 2014, 12:12:59
Olur ama olmaz,
yani gerçekte olmaz,
bunun için başka dalavereler yapıyoruz,
sayı gerçekte hep pozitif oluyor ama misal
7. bit 1 ise sayı negatif olsun diye düşünüyoruz.

Senin verdiğin örnekte 0 olan sayıyı bir defa azaltırsan 255 olur,
yani döngüye 255 yükleyip azaltarak saydırmak yerine 0 yükleyip saydırıyor,
ne faydası var,
movlw ile atama yapmak zorunda kalmıyor,
1 komut tasarruf etti,
ve 255 demesinden 1 defa daha fazla sayma yapabilmiş oldu,
yani 256 dan geriye sayma yapıyor gibi oldu.

decfsz komutunu net olarak anladım.
Biraz araştırma yapıp sayıcının tam olarak kaç saydığını çözeyim.