Ja, lieber Herr Kollege, so einfach ist das nicht:
für den FLASH brauchst du 16-bit pointer (d.h. jeder Schmarrn * 2)

Schau die das Prog an, ich habe für den ersten Buchstaben "H" alles gecheckt, ein bißchen was darfst du dann auch

*grmpf* Im Flash muttu mit LPM u. Z lesen !



Code:
;******************************************************************************
;
; Testen des indizierten Tabellenzugriffs
; MCU: AT90S2313	Takt: 4,433618 MHz
;
;Zeiger_Text_Anfang	= Register X
;Zeiger_Pattern		= Register Y
;Zeiger_Text_Basis	= Register Z
;******************************************************************************
;
.nolist
.include <2313def.inc>
.list
;
; Konstanten
.equ Offset				= 0x20	;Offset zum ersten Zeichens im Zeichensatz (32)
.equ Counter_Spalte		= 0		;Spaltenzähler
.equ Counter_Zeile		= 0		;Index für Pattern
;
; Benutzte Register
.def wreg				= R16
.def temp				= R17
;
; Codebeginn
;
.CSEG
.ORG 0000
	rjmp main

; Reset- und Interruptroutinen

;*********** Hauptprogramm ******************************************
main:
	ldi	wreg,low(RAMEND)
	out	SPL,wreg				;der übliche Stack
	ldi	wreg,0
	sts	Counter_Spalte,	wreg	;clear
	sts	Counter_Zeile,	wreg	;clear
	sts	Counter_Spalte,	wreg	;clear

	ldi	ZH,	high	(Text*2)
	ldi	ZL,	low		(Text*2)

loop_Zeile:
	

loop_Zeichen:
	lpm							;Zeichen aus Text holen und erhöhen
	tst		R0
	breq 	ende					;ja,nächste Zeile (vorläufig ende)
	adiw 	ZL,1

	push 	ZL						;Basisadresse sichern ...
	push 	ZH						;Basisadresse sichern ...

	ldi 	ZH,	high	(Zeichensatz*2)
	ldi 	ZL,	low		(Zeichensatz*2)

	mov		temp,R0					; character
	subi 	temp,Offset				;Offset des Zeichensatzes abziehen
	rol		temp
	add 	ZL,temp					;Zeichen als Offset zur Basis addieren
	clr		temp
	adc		ZH, temp
	lpm
	mov		temp,R0					; character vec low
	adiw 	ZL,1
	lpm
	mov		zh,R0					; character vec high
	mov		zl, temp
	lpm

	mov		temp,R0					; pattern 

									;Zeilenmuster holen
	pop		ZH						;... und wieder zurückholen
	pop		ZL						;... und wieder zurückholen


neue_Zeile:
	rjmp loop_Zeile

ende:
	rjmp ende

;************* Tabellen *********************************************
Text:
.db "Hallo 2&4-eR",0

;Einsprungtabelle,vom Zeichsatz müssen 32 abgezogen werden,
;damit mit der Zählung bei Null begonnen werden kann
Zeichensatz:
.dw char_leer, char_ausr, char_gf, char_dk, char_dol, char_proz
.dw char_und, char_hkom, char_likl, char_rekl, char_mal, char_plus
.dw char_kom, char_minus, char_pkt, char_slash
;-------------------------------------------
.dw char_0, char_1, char_2, char_3, char_4, char_5, char_6, char_7
.dw char_8, char_9, char_dp, char_sk, char_li, char_gl, char_re, char_fr 
;-------------------------------------------
.dw char_at, char_A, char_B, char_C, char_D, char_E, char_F, char_G
.dw char_H<<1, char_I, char_J, char_K, char_L, char_M, char_N, char_O
;-------------------------------------------
.dw char_P, char_Q, char_R, char_S, char_T, char_U, char_V, char_W
.dw char_X, char_Y, char_Z, char_lie, char_yen, char_ree, char_da, char_us
;-------------------------------------------
.dw char_hk, char_a
.dw char_b, char_c, char_d, char_e, char_f, char_g
.dw char_h, char_i, char_j, char_k, char_l, char_m
.dw char_n, char_o, char_p, char_q, char_r, char_s
.dw char_t, char_u, char_v, char_w, char_x, char_y
.dw char_z, char_res, char_pip, char_lis, char_rep, char_lip

;Zeichensatz Bitmuster
char_leer:				;Leerzeichen
.db 0b00000000, 0b00000000, 0b00000000, 0b00000000
.db 0b00000000, 0b00000000, 0b00000000,0	;0,0,0,0,0,0,0

char_ausr:				;Ausrufezeichen
.db 0b00100000, 0b00100000, 0b00100000, 0b00100000
.db 0b00000000, 0b00000000, 0b00100000,0	;20,20,20,20,0,0,20

char_gf:				;Gänsefüsse
.db 0b01010000, 0b01010000, 0b01010000, 0b00000000
.db 0b00000000, 0b00000000, 0b00000000,0	;50,50,50,0,0,0,0

char_dk:				;Doppelkreuz
.db 0b01010000, 0b01010000, 0b11011000, 0b01010000
.db 0b11011000, 0b01010000, 0b01010000,0	;50,50,d8,a0,d8,50,50

char_dol:				;Dollar
.db 0b00100000, 0b01111000, 0b10100000, 0b01110000
.db 0b00101000, 0b11110000, 0b00100000,0	;20,78,a0,70,28,f0,20

char_proz:				;Prozent
.db 0b11000000, 0b11001000, 0b00010000, 0b00100000
.db 0b01000000, 0b10011000, 0b00011000,0	;60,68,10,20,40,98,18

char_und:				;kaufmännisch-und
.db 0b01100000, 0b10010000, 0b10100000, 0b01000000
.db 0b10101000, 0b10010000, 0b01101000,0	;60,90,a0,40,a8,90,68

char_hkom:				;Hochkomma
.db 0b01100000, 0b00100000, 0b01000000, 0b00000000
.db 0b00000000, 0b00000000, 0b00000000,0	;60,20,40,0,0,0,0

char_likl:				;linke Klammer
.db 0b00010000, 0b00100000, 0b01000000, 0b01000000
.db 0b01000000, 0b00100000, 0b00010000,0	;10,20,40,40,40,20,10

char_rekl:				;rechte Klammer
.db 0b01000000, 0b00100000, 0b00010000, 0b00010000
.db 0b00010000, 0b00100000, 0b01000000,0	;40,20,10,10,10,20,40

char_mal:				;Mal-Zeichen
.db 0b00000000, 0b00100000, 0b10101000, 0b01110000
.db 0b10101000, 0b00100000, 0b00000000,0	;0,20,a8,70,a8,20,0

char_plus:				;Plus-Zeichen
.db 0b00000000, 0b00100000, 0b00100000, 0b11111000
.db 0b00100000, 0b00100000, 0b00000000,0	;0,20,20,f8,20,20,0

char_kom:				;Komma
.db 0b00000000, 0b00000000, 0b00000000, 0b00000000
.db 0b01100000, 0b00100000, 0b01000000,0	;0,0,0,0,60,20,40

char_minus:				;Minus-Zeichen
.db 0b00000000, 0b00000000, 0b00000000, 0b11111000
.db 0b00000000, 0b00000000, 0b00000000,0	;0,0,0,f8,0,0,0

char_pkt:				;Punkt
.db 0b00000000, 0b00000000, 0b00000000, 0b00000000
.db 0b00000000, 0b01100000, 0b01100000,0	;0,0,0,0,0,60,60

char_slash:				;/ Slash-Zeichen
.db 0b00000000, 0b00001000, 0b00010000, 0b00100000
.db 0b01000000, 0b10000000, 0b00000000,0	;0,80,10,20,40,80,0

char_0:	
.db 0b01110000, 0b10001000, 0b10011000, 0b10101000
.db 0b11001000, 0b10001000, 0b01110000,0	;70,88,98,a8,c8,88,70

char_1:	
.db 0b00100000, 0b01100000, 0b00100000, 0b00100000
.db 0b00100000, 0b00100000, 0b01110000,0	;20,60,20,20,20,20,70

char_2:	
.db 0b01110000, 0b10001000, 0b00001000, 0b00010000
.db 0b00100000, 0b01000000, 0b11111000,0	;70,88,08,10,20,40,f8
 
char_3:
.db 0b11111000, 0b00010000, 0b00100000, 0b00010000
.db 0b00001000, 0b10001000, 0b01110000,0	;f8,10,20,10,08,88,70
 
char_4:
.db 0b00010000, 0b00110000, 0b01010000, 0b10010000
.db 0b11111000, 0b00010000, 0b00010000,0	;10,30,50,90,f8,10,10

char_5:
.db 0b11111000, 0b10000000, 0b11110000, 0b00001000
.db 0b00001000, 0b10001000, 0b01110000,0	;f8,80,f0,80,80,88,70
 
char_6:
.db 0b00100000, 0b01000000, 0b10000000, 0b111100000
.db 0b10001000, 0b10001000, 0b01110000,0	;20,40,80,f0,88,88,70
 
char_7:
.db 0b11111000, 0b00010000, 0b00100000, 0b01000000
.db 0b01000000, 0b01000000, 0b01000000,0	;f8,10,20,40,40,40,40
 
char_8:
.db 0b01110000, 0b10001000, 0b10001000, 0b01110000
.db 0b10001000, 0b10001000, 0b01110000,0	;70,88,88,70,88,88,70

char_9:
.db 0b01110000, 0b10001000, 0b10001000, 0b01111000
.db 0b00001000, 0b00010000, 0b00100000,0	;70,88,88,78,80,10,20

char_dp:				;Doppelpunkt
.db 0b00000000, 0b01100000, 0b01100000, 0b00000000
.db 0b01100000, 0b01100000, 0b00000000,0	;0,60,60,0,60,60,0

char_sk:				;Symikolon
.db 0b00000000, 0b01100000, 0b01100000, 0b00000000
.db 0b01100000, 0b00100000, 0b01000000,0	;0,60,60,0,60,20,40

char_li:				;Spitze links
.db 0b00010000, 0b00100000, 0b01000000, 0b10000000
.db 0b01000000, 0b00100000, 0b00010000,0	;10,20,40,80,40,20,10

char_gl:				;gleich
.db 0b00000000, 0b00000000, 0b11111000, 0b00000000
.db 0b11111000, 0b00000000, 0b00000000,0	;0,0,f8,0,f8,0,0

char_re:				;Spitze rechts
.db 0b01000000, 0b00100000, 0b00010000, 0b00001000
.db 0b00010000, 0b00100000, 0b01000000,0	;40,20,10,08,10,20,40

char_fr:				;Fragezeichen
.db 0b01110000, 0b10001000, 0b00001000, 0b00010000
.db 0b00100000, 0b00000000, 0b00100000,0	;70,88,08,10,20,0,20

char_at:				;@-Zeichen
.db 0b01110000, 0b10001000, 0b00001000, 0b01101000
.db 0b10101000, 0b10101000, 0b01110000,0	;70,88,08,68,a8,a8,70

char_A: 
.db 0b01110000, 0b10001000, 0b10001000, 0b10001000
.db 0b11111000, 0b10001000, 0b10001000,0	;70,88,88,88,f8,88,88

char_B: 
.db 0b11110000, 0b10001000, 0b10001000, 0b11110000
.db 0b10001000, 0b10001000, 0b11110000,0	;f0,88,88,f0,88,88,f0

char_C:
.db 0b01110000, 0b10001000, 0b10000000, 0b10000000
.db 0b10000000, 0b10001000, 0b01110000,0	;70,88,80,80,80,88,70

char_D: 
.db 0b11100000, 0b10010000, 0b10001000, 0b10001000
.db 0b10001000, 0b10010000, 0b11100000,0	;e0,90,88,88,88,90,e0

char_E: 
.db 0b11111000, 0b10000000, 0b10000000, 0b11110000
.db 0b10000000, 0b10000000, 0b11111000,0	;f8,80,80,f0,80,80,f8

char_F: 
.db 0b11111000, 0b10000000, 0b10000000, 0b11110000
.db 0b10000000, 0b10000000, 0b10000000,0	;f8,80,80,f0,80,80,80

char_G: 
.db 0b01110000, 0b10001000, 0b10000000, 0b10110000
.db 0b10001000, 0b10001000, 0b01110000,0	;70,88,80,b0,88,88,70

char_H:
.db 0b10001000, 0b10001000, 0b10001000, 0b11111000
.db 0b10001000, 0b10001000, 0b10001000,0	;88,88,88,f8,88,88,88

char_I: 
.db 0b01110000, 0b00100000, 0b00100000, 0b00100000
.db 0b00100000, 0b00100000, 0b01110000,0	;70,20,20,20,20,20,70

char_J: 
.db 0b00111000, 0b00010000, 0b00010000, 0b00010000
.db 0b00010000, 0b10010000, 0b01100000,0	;38,10,10,10,10,90,60

char_K: 
.db 0b10001000, 0b10010000, 0b10100000, 0b11000000
.db 0b10100000, 0b10010000, 0b10001000,0	;88,90,a0,c0,a0,90,90

char_L: 
.db 0b10000000, 0b10000000, 0b10000000, 0b10000000
.db 0b10000000, 0b10000000, 0b11111000,0	;80,80,80,80,80,80,f8

char_M:
.db 0b10001000, 0b11011000, 0b10101000, 0b10101000
.db 0b10001000, 0b10001000, 0b10001000,0	;88,d8,a8,a8,88,88,88

char_N: 
.db 0b10001000, 0b10001000, 0b11001000, 0b10101000
.db 0b10011000, 0b10001000, 0b10001000,0	;88,88,68,a8,98,88,88

char_O: 
.db 0b01110000, 0b10001000, 0b10001000, 0b10001000
.db 0b10001000, 0b10001000, 0b01110000,0	;70,88,88,88,88,88,70

char_P: 
.db 0b11110000, 0b10001000, 0b10001000, 0b11110000
.db 0b10000000, 0b10000000, 0b10000000,0	;f0,88,88,f0,80,80,80

char_Q: 
.db 0b01110000, 0b10001000, 0b10001000, 0b10001000
.db 0b10101000, 0b10010000, 0b01101000,0	;70,88,88,88,a8,90,68

char_R:
.db 0b11110000, 0b10001000, 0b10001000, 0b11110000
.db 0b10100000, 0b10010000, 0b10001000,0	;f0,88,88,f0,90,90,90

char_S: 
.db 0b01111000, 0b10000000, 0b10000000, 0b01110000
.db 0b00001000, 0b00001000, 0b11110000,0	;78,80,80,70,08,08,f0

char_T: 
.db 0b11111000, 0b00100000, 0b00100000, 0b00100000
.db 0b00100000, 0b00100000, 0b00100000,0	;f8,20,20,20,20,20,20

char_U: 
.db 0b10001000, 0b10001000, 0b10001000, 0b10001000
.db 0b10001000, 0b10001000, 0b01110000,0	;88,88,88,88,88,88,70

char_V: 
.db 0b10001000, 0b10001000, 0b10001000, 0b10001000
.db 0b10001000, 0b01010000, 0b00100000,0	;88,88,88,88,88,50,20

char_W:
.db 0b10001000, 0b10001000, 0b10001000, 0b10101000
.db 0b10101000, 0b10101000, 0b01010000,0	;88,88,88,58,58,58,50

char_X: 
.db 0b10001000, 0b10001000, 0b01010000, 0b00100000
.db 0b01010000, 0b10001000, 0b10001000,0	;88,88,50,20,50,88,88

char_Y: 
.db 0b10001000, 0b10001000, 0b10001000, 0b01010000
.db 0b00100000, 0b00100000, 0b00100000,0	;88,88,88,50,20,20,20

char_Z:
.db 0b11111000, 0b00001000, 0b00010000, 0b00100000
.db 0b01000000, 0b10000000, 0b11111000,0	;f8,08,10,20,40,80,f8

char_lie:				;eckige Klammer links
.db 0b01110000, 0b01000000, 0b01000000, 0b01000000
.db 0b01000000, 0b01000000, 0b01110000,0	;70,40,40,40,40,40,70

char_yen:				;Yen-Zeichen
.db 0b10001000, 0b01010000, 0b11111000, 0b00100000
.db 0b11111000, 0b00100000, 0b00100000,0	;88,50,f8,20,f8,20,20

char_ree:				;eckige Klammer rechts
.db 0b01110000, 0b00010000, 0b00010000, 0b00010000
.db 0b00010000, 0b00010000, 0b01110000,0	;70,10,10,10,10,10,70

char_da:				;^ Dachzeichen
.db 0b00100000, 0b01010000, 0b10001000, 0b00000000
.db 0b00000000, 0b00000000, 0b00000000,0	;20,50,88,0,0,0,0

char_us:				;Unterstrich
.db 0b00000000, 0b00000000, 0b00000000, 0b00000000
.db 0b00000000, 0b00000000, 0b11111000,0	;0,0,0,0,0,0,f8

char_hk:				;`-Zeichen
.db 0b01000000, 0b00100000, 0b00010000, 0b00000000
.db 0b00000000, 0b00000000, 0b00000000,0	;40,20,10,0,0,0,0

char_a_klein:
.db 0b00000000, 0b00000000, 0b01110000, 0b00001000
.db 0b01111000, 0b10001000, 0b01111000,0	;0,0,70,08,78,88,78

char_b_klein: 
.db 0b10000000, 0b10000000, 0b10000000, 0b11110000
.db 0b10001000, 0b10001000, 0b11110000,0	;80,80,80,f0,88,88,f0

char_c_klein: 
.db 0b00000000, 0b00000000, 0b00000000, 0b01110000
.db 0b10000000, 0b10001000, 0b01110000,0	;0,0,0,70,80,88,70

char_d_klein: 
.db 0b00001000, 0b00001000, 0b01101000, 0b10011000
.db 0b10001000, 0b10001000, 0b01111000,0	;80,80,68,98,88,88,78

char_e_klein: 
.db 0b00000000, 0b00000000, 0b01110000, 0b10001000
.db 0b11111000, 0b10000000, 0b01110000,0	;,0,0,70,88,f8,80,70

char_f_klein:
.db 0b00110000, 0b01001000, 0b01000000, 0b11100000
.db 0b01000000, 0b01000000, 0b01000000,0	;30,48,40,e0,40,40,40

char_g_klein: 
.db 0b00000000, 0b00000000, 0b01111000, 0b10001000
.db 0b01111000, 0b00001000, 0b01110000,0	;0,0,78,88,78,08,70

char_h_klein: 
.db 0b10000000, 0b10000000, 0b10000000, 0b10110000
.db 0b11001000, 0b10001000, 0b10001000,0	;80,80,80,b0,c8,88,88

char_i_klein: 
.db 0b00100000, 0b00000000, 0b01100000, 0b00100000
.db 0b00100000, 0b00100000, 0b01110000,0	;20,0,60,20,20,20,70

char_j_klein: 
.db 0b00001000, 0b00000000, 0b00001000, 0b00001000
.db 0b00001000, 0b10001000, 0b00110000,0	;08,0,08,08,08,88,30

char_k_klein:
.db 0b10000000, 0b10000000, 0b10010000, 0b10100000
.db 0b11000000, 0b10100000, 0b10010000,0	;80,80,90,a0,c0,a0,90

char_l_klein: 
.db 0b01100000, 0b00100000, 0b00100000, 0b00100000
.db 0b00100000, 0b00100000, 0b01110000,0	;60,20,20,20,20,20,70

char_m_klein:
.db 0b00000000, 0b00000000, 0b11010000, 0b10101000
.db 0b10101000, 0b10001000, 0b10001000,0	;0,0,D0,A8,A8,88,88

char_n_klein:
.db 0b00000000, 0b00000000, 0b10110000, 0b11001000
.db 0b10001000, 0b10001000, 0b10001000,0	;0,0,B0,C8,88,88,88

char_o_klein: 
.db 0b00000000, 0b00000000, 0b01110000, 0b10001000
.db 0b10001000, 0b10001000, 0b01110000,0	;0,0,70,88,88,88,70

char_p_klein:
.db 0b00000000, 0b00000000, 0b11110000, 0b10001000
.db 0b11110000, 0b10000000, 0b10000000,0	;0,0,f0,88,f0,80,80

char_q_klein: 
.db 0b00000000, 0b00000000, 0b01101000, 0b10011000
.db 0b01101000, 0b00001000, 0b00001000,0	;0,0,68,98,68,08,08

char_r_klein: 
.db 0b00000000, 0b00000000, 0b10110000, 0b11001000
.db 0b10000000, 0b10000000, 0b10000000,0	;0,0,b0,c8,80,80,80

char_s_klein: 
.db 0b00000000, 0b00000000, 0b01110000, 0b10000000
.db 0b01110000, 0b00001000, 0b11110000,0	;0,0,70,80,70,08,f0

char_t_klein: 
.db 0b01000000, 0b01000000, 0b11100000, 0b01000000
.db 0b01000000, 0b01001000, 0b00110000,0	;40,40,e0,40,40,48,30

char_u_klein:
.db 0b00000000, 0b00000000, 0b10001000, 0b10001000
.db 0b10001000, 0b10011000, 0b01101000,0	;0,0,88,88,88,98,68

char_v_klein: 
.db 0b00000000, 0b00000000, 0b10001000, 0b10001000
.db 0b10001000, 0b01010000, 0b00100000,0	;0,0,88,88,88,50,20

char_w_klein: 
.db 0b00000000, 0b00000000, 0b10001000, 0b10001000
.db 0b10101000, 0b10101000, 0b01010000,0	;0,0,88,88,54,54,50

char_x_klein: 
.db 0b00000000, 0b00000000, 0b10001000, 0b01010000
.db 0b00100000, 0b01010000, 0b10001000,0	;0,0,88,50,20,50,88

char_y_klein: 
.db 0b00000000, 0b00000000, 0b10001000, 0b10001000
.db 0b01111000, 0b00001000, 0b01110000,0	;0,0,88,88,78,08,70

char_z_klein:
.db 0b00000000, 0b00000000, 0b11111000, 0b00010000
.db 0b00100000, 0b01000000, 0b11111000,0	;0,0,f8,10,20,40,f8

char_lis:				;geschweift Klammer 
.db 0b00010000, 0b00100000, 0b00100000, 0b01000000
.db 0b00100000, 0b00100000, 0b00010000,0	;10,20,20,40,20,20,10

char_pip:				;| Pipe-Zeichen
.db 0b00010000, 0b00010000, 0b00010000, 0b00010000
.db 0b00010000, 0b00010000, 0b00010000,0	;10,10,10,10,10,10,10,

char_res:				;geschweift Klammer rechts 
.db 0b01000000, 0b00100000, 0b00100000, 0b00010000
.db 0b00100000, 0b00100000, 0b01000000,0	;40,20,20,10,20,20,40

char_rep:				;Pfeil rechts
.db 0b00000000, 0b00100000, 0b00010000, 0b11111000
.db 0b00010000, 0b00100000, 0b00000000,0	;0,20,10,f8,10,20,0

char_lip:				;Pfeil links
.db 0b00000000, 0b00100000, 0b01000000, 0b11111000
.db 0b01000000, 0b00100000, 0b00000000,0	;0,20,40,f8,40,20,0
EDIT: mach dir nix draus, man kann schon mal einrosten !