Sorry ich versuchs ma so ok, ich Teile meine Assemblerseiten verschiedenen Unterteilung ein.
Das alles kommt dann in Source File hinein schön geordnet so und nun kommt in einem Prog so etwas vor:

;Externe Variablen

extern DATA_EE_ADDR
extern EEPROM_Daten
extern I2C_EE_pos
extern I2C_EE_bank
extern pin1
extern month
extern day
extern min
extern min10
extern hour
extern hour10
extern output
extern pointstat

;Globale Routinen
global I2C_liste_lesen_datensatz, I2C_liste_schreiben
global data_read_1, data_read_2, data_read_3
global data_read_4, data_read_5
;externe Routinen
extern RS232out

;Variablen

GPR1 UDATA_shr
data_read_1 res 1
data_read_2 res 1
data_read_3 res 1
data_read_4 res 1
data_read_5 res 1


I2C_Listen_routinen code

I2C_liste_lesen_datensatz
btfsc PCdata
goto PCdatenlesen

movlw EE_pos
movwf DATA_EE_ADDR
call EERead
movfw EEPROM_Daten
movwf I2C_EE_pos


movlw EE_bank
movwf DATA_EE_ADDR
call EERead
movfw EEPROM_Daten
movwf I2C_EE_bank

Nun frag ich wie und was hat es mit dem extern, global auf sich ?