Неочевидно стало добавлять новые условия (я добавил еще одну кнопку для возврата в предыдущее меню).
Добавил к каждому пункту меню в секции data еще одну связь на родительский элемент или просто адреса родителей запоминаешь по ходу работы? Интересно просто.
Основная мысль предыдущего моего сообщения была в том, чтобы в зависимости от нажатой кнопки, при помощи Read Dummy переместиться на нужную связь. Если сосед слева - 2 байта, сосед справа - 4 байта, родитель (если возврат в предыдущее добавить) - 6 байт. А потом уже один раз выполнить (он для всех кнопок ведь одинаков) блок
Read Dataptr
sts {MenuPointer}, R8
sts {MenuPointer + 1}, R9
Goto Display_new_menu
Но можно и по-твоему. Вариантов реализации много.