Здравствуйте.
В процессе изучения ассемблера и написания программы для PIC16 возник вопрос - возможно ли создать локальную метку внутри подпрограммы?
Если рассматривать макросы, то такая конструкция:
Код
NAME_OF_MACRO MACRO1
LOCAL _finally
;какие-либо действия
goto _finally
;какие-либо действия
_finally:
;какие-либо действия
ENDM
NAME_OF_MACRO MACRO2
LOCAL _finally
;какие-либо действия
goto _finally
;какие-либо действия
_finally:
;какие-либо действия
ENDM
вполне работоспособна и хорошо читаема. Однако если имеется 2 подпрограммы, то такой код:
Код
NAME_OF_PROC1:
;какие-либо действия
goto _finally
;какие-либо действия
_finally:
;какие-либо действия
RETURN
NAME_OF_PROC2:
;какие-либо действия
goto _finally
;какие-либо действия
_finally:
;какие-либо действия
RETURN
является ошибочным.
Конечно можно к имени метки добавлять еще и название подпрограммы, но такой подход мне кажется не очень удобным, хотя и гарантирует уникальность каждой метки.
В общем, прошу поделиться опытом решение описаной проблем (хотя конечно проблемой это назвать очень сложно

).
P.S. Используемая среда MPLAB IDE v.7.30