Sari la conținut
ELFORUM - Forumul electronistilor

Intrebare subrutina de intarziere


Vizitator yo9hnh

Postări Recomandate

Vizitator yo9hnh

Salutare,am gasit situl acesta care este un generator de cod pentru intarzieri

http://techref.massmind.org/cgi-bin/delay.exe

Si am facut o intarziere de o secunda si acesta este codul :

 

; Delay = 1 seconds

; Clock frequency = 4 MHz

 

; Actual delay = 1 seconds = 1000000 cycles

; Error = 0 %

 

cblock

d1

d2

d3

endc

 

Delay

;999990 cycles

movlw 0x07

movwf d1

movlw 0x2F

movwf d2

movlw 0x03

movwf d3

Delay_0

decfsz d1, f

goto $+2

decfsz d2, f

goto $+2

decfsz d3, f

goto Delay_0

 

;6 cycles

goto $+1

goto $+1

goto $+1

 

;4 cycles (including call)

return

 

 

Acum vine intrebarea , nu inteleg ce fac instructiunile goto $+2 si goto $+1

Mai exact $+2 si $+1 , goto stiu ca directioneaza programul la o anume adresa dar ce reprezinta $+2 si $+1 ?

Link spre comentariu
  • Răspunsuri 2
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • MirceaM

    1

Top autori în acest subiect

  • 1 lună mai târziu...

da, asa este. iar in cazul "atragator" in care avem un goto chiar catre instructiunea urmatoare, acesta este pus acolo cu scopul ca sa asigure o anumita intarziere, sa se potriveasca la intarzierea pretinsa de catre secventa / bucla respectiva.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări