HeestadocreandouninformesobreporquélainstrucciónJUMPnodebeusarseenelfragmentodecódigoanterioryensulugar,lasinstruccionesCALL/RETURNdebenusarseparanavegarporlassubrutinas.
Entiendoqueelcódigonuncallegaráaback2:porqueestáusandoelcomandodesaltoycontinuaráhaciendounbucleentreback1:ylarutinadeCalculateNextPower.
¿Estaríaenlocorrectoaldecirque:
lainstruccióndesaltonoempujalainstrucciónaunapilaydacomoresultadoquenopuedasvolveradondehassaltado.
Alusarlallamada,evitaqueempujesamuchasdireccionesalapilaporrecursióncomoloharíalainstrucciónJUMP.Estopuedecausarundesbordamientodepila/recursióndecolaypuederesultarenquenoobtengaelresultadodelcálculohastaquehayaregresadoutilizandolallamadayladevolución?
Creoquelohehechomáscomplicadodeloquees,leídoenmuchossitiosymeheconfundidoconlosmotivosporlosquedeberíausarseenlugardelainstruccióndesalto,apartedenopoderobteneralarutina"back2:".
Aprecio cualquier ayuda para aclarar esto, soy nuevo en este tipo de trabajo