реклама на сайте
подробности

 
 
> "Локальные" метки в подпрограмме, Борьба за читабельность кода
Grigorij
сообщение Mar 31 2008, 11:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 10-03-07
Пользователь №: 26 038



Здравствуйте.

В процессе изучения ассемблера и написания программы для 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


является ошибочным.

Конечно можно к имени метки добавлять еще и название подпрограммы, но такой подход мне кажется не очень удобным, хотя и гарантирует уникальность каждой метки.

В общем, прошу поделиться опытом решение описаной проблем (хотя конечно проблемой это назвать очень сложно smile.gif).

P.S. Используемая среда MPLAB IDE v.7.30
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 15:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016