Ето у меня 2-ой уровень (правда отсюда к первому возврата нет). За етим следуют до 2 уровня - вход и возврат, уменьшение/увеличение, память и т.д. Давно писал не помню уже все ....
Пока_без_кота писал(а):поборол довольно банально, написав следующее:
Пока_без_кота писал(а):довольно компактному и читабельному (кол. строчек по вертикали) коду:
У вас сейчась как-то так:
Код: Выделить всё
NUM_OF_SUBMENU_PUNKTS_1 equ NUM_OF_SUBMENU_1_PUNKTS
NUM_OF_SUBMENU_PUNKTS_2 equ NUM_OF_SUBMENU_2_PUNKTS
NUM_OF_SUBMENU_PUNKTS_3 equ NUM_OF_SUBMENU_3_PUNKTS
NUM_OF_SUBMENU_PUNKTS_4 equ NUM_OF_SUBMENU_4_PUNKTS
NUM_OF_SUBMENU_PUNKTS_5 equ NUM_OF_SUBMENU_5_PUNKTS
NUM_OF_SUBMENU_PUNKTS_6 equ NUM_OF_SUBMENU_6_PUNKTS
NUM_OF_SUBMENU_PUNKTS_7 equ NUM_OF_SUBMENU_7_PUNKTS
NUM_OF_SUBMENU_PUNKTS_8 equ NUM_OF_SUBMENU_8_PUNKTS
retlw_num_of_submenu_punkts macro ; Макрос, автоматически создаст таблицу возвратов количества пунктов в нужном подменю
local a=1
while a<NUM_OF_MAIN_MENU_PUNKTS+1
retlw NUM_OF_SUBMENU_#v(a)_PUNKTS
a+=1
endw
endm
заместо:
Код: Выделить всё
154 3403 RETLW 0x3 36: retlw_num_of_submenu_punkts
155 3403 RETLW 0x3 ;точка для обработки ...... .....
156 3403 RETLW 0x3 ; или там что-то еще
157 3403 RETLW 0x3
158 3403 RETLW 0x3
159 3403 RETLW 0x3 ;NUM_OF_SUBMENU_8_PUNKTS
15A 3403 RETLW 0x3 ;или хотя так
15B 3403 RETLW 0x3
с соответсвующие коментариев.
Извини, но для меня более приглядно второе представление. Напоминаете моего коллега расспишавнии умножение на 1.2 на 22 страниц кода.
Вам виднее. Если вам так нравится - делайте так.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.