ich programmiere gerade für den Butterfly ein Menü als State Machine möchte in die Datensätzen (DATA) die Einsprungadresse zu den Unterprogrammen ablegen (LOADLABEL).

Obwohl Bascom den Befehl LOADLABEL während des Compilier-Laufs als Konstante auflöst, lehnt er die Verbindung mit Data ab:
Code:
DATA LOADLABEL(Marke_1)
auch ein Workaround über CONST wird abgelehnt:
Code:
CONST Adr_1 = LOADLABEL(Marke_1)
Adr_Data:
DATA Adr_1
so bleibt mir nur der lange Weg:
Code:
        Select Case State
         Case St_avrbf_rev : Gosub Revision
         Case St_time_clock_func : Gosub Showclock
         Case St_time_clock_adjust_func : Gosub Setclock
         Case St_time_clockformat_adjust_func : Gosub Setclockformat
         Case St_time_date_func : Gosub Showdate
         Case St_time_date_adjust_func : Gosub Setdate
         Case St_time_dateformat_adjust_func : Gosub Setdateformat
         Case St_music_select : Gosub Selectsound
         Case St_music_play : Gosub Music
         Case St_vcard_func : Gosub Vcard
         Case St_vcard_enter_name_func : Gosub Entername
         Case St_vcard_download_name_func : Gosub RS232
         Case St_temperature_func : Gosub Temperaturefunc
         Case St_voltage_func : Gosub Voltagefunc
         Case St_light_func : Gosub Lightfunc
         Case St_options_display_contrast_func : Gosub Setcontrast
         Case St_options_boot_func : Gosub Bootfunc
         Case St_options_power_save_func : Gosub Powersavefunc
         Case St_options_auto_power_save_func : Gosub Autopower
         Case St_options_keyclick_func : Gosub Keyclick
      End Select

'Datensätze der State Machine
State_machine:
'     STATE     INPUT       NEXT STATE
Data St_avrbf , Key_plus , St_options
Data St_avrbf , Key_next , St_avrbf_rev
Data St_avrbf , Key_minus , St_time

Data St_avrbf_rev , Key_prev , St_avrbf

Data St_time , Key_plus , St_avrbf
Data St_time , Key_next , St_time_clock
Data St_time , Key_prev , St_avrbf
Data St_time , Key_minus , St_music

Data St_time_clock , Key_plus , St_time_date
Data St_time_clock , Key_next , St_time_clock_func
Data St_time_clock , Key_prev , St_time
Data St_time_clock , Key_minus , St_time_date

Data St_time_clock_adjust , Key_plus , St_time_clockformat_adjust
Data St_time_clock_adjust , Key_enter , St_time_clock_adjust_func
Data St_time_clock_adjust , Key_prev , St_time_clock_func
Data St_time_clock_adjust , Key_minus , St_time_clockformat_adjust

Data St_time_clockformat_adjust , Key_plus , St_time_clock_adjust
Data St_time_clockformat_adjust , Key_enter , St_time_clockformat_adjust_func
Data St_time_clockformat_adjust , Key_prev , St_time_clock_func
Data St_time_clockformat_adjust , Key_minus , St_time_clock_adjust

Data St_time_date , Key_plus , St_time_clock
Data St_time_date , Key_next , St_time_date_func
Data St_time_date , Key_prev , St_time
Data St_time_date , Key_minus , St_time_clock

Data St_time_date_adjust , Key_plus , St_time_dateformat_adjust
Data St_time_date_adjust , Key_enter , St_time_date_adjust_func
Data St_time_date_adjust , Key_prev , St_time_date_func
Data St_time_date_adjust , Key_minus , St_time_dateformat_adjust

Data St_time_dateformat_adjust , Key_plus , St_time_date_adjust
Data St_time_dateformat_adjust , Key_enter , St_time_dateformat_adjust_func
Data St_time_dateformat_adjust , Key_prev , St_time_date_func
Data St_time_dateformat_adjust , Key_minus , St_time_date_adjust

Data St_music , Key_plus , St_time
Data St_music , Key_next , St_music_select
Data St_music , Key_prev , St_avrbf
Data St_music , Key_minus , St_vcard

Data St_sound_music , Key_next , St_music_select
Data St_sound_music , Key_prev , St_music

Data St_vcard , Key_plus , St_music
Data St_vcard , Key_next , St_vcard_func
Data St_vcard , Key_prev , St_avrbf
Data St_vcard , Key_minus , St_temperature

Data St_vcard_enter_name , Key_plus , St_vcard_download_name
Data St_vcard_enter_name , Key_enter , St_vcard_enter_name_func
Data St_vcard_enter_name , Key_prev , St_vcard_func
Data St_vcard_enter_name , Key_minus , St_vcard_download_name

Data St_vcard_download_name , Key_plus , St_vcard_enter_name
Data St_vcard_download_name , Key_enter , St_vcard_download_name_func
Data St_vcard_download_name , Key_prev , St_vcard_func
Data St_vcard_download_name , Key_minus , St_vcard_enter_name

Data St_temperature , Key_plus , St_vcard
Data St_temperature , Key_next , St_temperature_func
Data St_temperature , Key_prev , St_avrbf
Data St_temperature , Key_minus , St_voltage

Data St_voltage , Key_plus , St_temperature
Data St_voltage , Key_next , St_voltage_func
Data St_voltage , Key_prev , St_avrbf
Data St_voltage , Key_minus , St_light

Data St_light , Key_plus , St_voltage
Data St_light , Key_next , St_light_func
Data St_light , Key_prev , St_avrbf
Data St_light , Key_minus , St_options

Data St_options , Key_plus , St_light
Data St_options , Key_next , St_options_display
Data St_options , Key_prev , St_avrbf
Data St_options , Key_minus , St_avrbf

Data St_options_display , Key_plus , St_options_keyclick
Data St_options_display , Key_next , St_options_display_contrast
Data St_options_display , Key_prev , St_options
Data St_options_display , Key_minus , St_options_boot

Data St_options_display_contrast , Key_enter , St_options_display_contrast_func
Data St_options_display_contrast , Key_prev , St_options_display

Data St_options_boot , Key_plus , St_options_display
Data St_options_boot , Key_next , St_options_boot_func
Data St_options_boot , Key_prev , St_options
Data St_options_boot , Key_minus , St_options_power_save

Data St_options_power_save , Key_plus , St_options_boot
Data St_options_power_save , Key_next , St_options_power_save_func
Data St_options_power_save , Key_prev , St_options
Data St_options_power_save , Key_minus , St_options_auto_power_save

Data St_options_auto_power_save , Key_plus , St_options_power_save
Data St_options_auto_power_save , Key_next , St_options_auto_power_save_func
Data St_options_auto_power_save , Key_prev , St_options
Data St_options_auto_power_save , Key_minus , St_options_keyclick

Data St_options_keyclick , Key_plus , St_options_auto_power_save
Data St_options_keyclick , Key_next , St_options_keyclick_func
Data St_options_keyclick , Key_prev , St_options
Data St_options_keyclick , Key_minus , St_options_display

Data 255 , 255 , 255
Hat jemand eine Idee, wie man den Select Case ... GOSUB elegant umgehen kann indem man die Labels der Unterprogramme gleich in DATA einpflegt?