În cazul în care indicatorul se duce?

T

T Navid

Guest
Inginerii Bună
I-am scris acest cod pentru a trimite 55 dolari de la USART şi funcţionează corect.
Ce se întâmplă dacă nu scriu (End: RJMP END)??în cazul în care indicatorul va merge?de ce?
Am văzut 55 dolari mai mult şi mai mult atunci când nu am scris linia de final.
--------------------------------------------------
# include "m16def.inc"
. ORG 0 dolari
RJMP SETUP
Setup:
LDI R16, HIGH (RAMEND)
OUT SPH, R16
LDI R16, LOW (RAMEND)
OUT SPL, R16
CLI
LDI R16, 0 dolari
OUT UCSRA, R16
LDI R16, 08 dolari
OUT UCSRB, R16
LDI R16, 86 dolari
OUT UCSRC, R16
CLR R16
OUT UBRRH, R16
LDI R16, 23 dolari
OUT UBRRL, R16
IES
Loop: SBIS UCSRA, 5
RJMP LOOP
LDI R16, 55 dolari
OUT UDR, R16
END: RJMP END
--------------------------------------------------
Toate cele bune

 
Salut,
După ce începe să ruleze, procesorul continuă să meargă, dacă nu este oprit sau pus într-o buclă de aşteptaţi.Atunci când traversează graniţele instrucţiunile de dumneavoastră, este nevoie de un octet următoare, ca de instruire şi începe executându-l, până la adresa de memorie resetează la zero şi de acolo în care constată codul dvs. din nou, cu condiţia traversează prin zona nedefinit a memoriei a avut loc într-o mod ordonat.În caz contrar, acesta începe a face lucruri nebun.

Cu respect,
Laktronics

 
Salut,
Prin modul în care cuvântul "END" este utilizat în mod normal de către asamblorii să cunoască limita de asamblare de instrucţiuni, chiar dacă extra ":" o face o etichetă.Cu toate acestea, este o practică mai bună de a utiliza unele etichete alte buclă şi de a folosi "END" doar ca o directivă de asamblare pentru a marca sfârşitul de programe pentru a fi asamblate.

Cu respect,
Laktronics

 

Welcome to EDABoard.com

Sponsor

Back
Top