Sida 3 av 3

Postat: 14 april 2006, 10:30:09
av exile
sodjan:
Visst genererar den "vilken" delay som helst, men om du modiferar den kan du få varabel delay som tar en 24bitars variabel in och den är multipler av 7 cykler, det var det jag menade, delvis att den kan ändras i runtime. Visst borde jag skrivet det men jag trode att ni var tanke läsare :wink:

Icecap:
Håller med dej om att label gör koden mer lätt läst, dock finns det tillfällen när helt befogat som exemple makron men det är en annan fema :)

Postat: 14 april 2006, 11:35:21
av Chribbe76
Den här delayen fungerar på samma sätt men är lite snyggare pga endast ett goto och inga $.
Kommer ej ihåg om jag skrivit den själv.

Kod: Markera allt

DelayLoop:
	decf	Delay1
	btfsc	STATUS,2
	decf	Delay2
	btfsc	STATUS,2
	decfsz	Delay3
	goto	DelayLoop

Postat: 14 april 2006, 13:54:46
av sodjan
excile> Håller med dej om att label gör koden mer lätt läst, dock finns det
excile> tillfällen när helt befogat som exemple makron men det är en annan fema

Kolla upp "LOCAL" i MPASM manualen.

Icecap> Då jag förstår på sodjan att delayet inte blir exakt i med annat än 7 cycles...

Alltså, hela saken är den att *kodgeneratorn* kan ge en delay med valfritt
antal hela cykler, dock kommer den faktiska koden att se lite olika ut
från fall till fall.

Betrakta delayrutinen som en "black box" där det inte är så himla
viktigt hur koden ser ut, bara den gör det den ska.

Den som gillar mer "smart" kod, kan testa de andra kodgeneratorerna
för t.ex multiplikation och division... :-)

Postat: 15 april 2006, 15:03:46
av Nino
Påminner lite om när jag satt och programmerade motorola 68HC12.