; TASKING TriCore C compiler v1.5r1 Build 322 SN 00090364
; options: -e -A1 -g -O0 -Id:\ctri\include -s -N8 -zTC112_COR1 -zTC112_COR4
;          -zTC112_COR10 -zTC112_COR13 -zTC112_COR14 -zTC112_COR16 -zTC112_COR17
	.name	"tc1775b"
	.symb	TOOL, "TASKING TriCore C compiler v1.5", 1
	.symb	TYPE, 256, "bit", 'g', 0, 1
	.symb	FILE, "tc1775b.c"
; file "tc1775b.c":
;    1 |#include "stdio.h"
	.symb	FILE, "d:\\ctri\\include\\stdio.h"
	.symb	FILE, "d:\\ctri\\include\\stdarg.h"
	.symb	ENDF
	.symb	TYPE, 258, 'P', #2
	.symb	TYPE, 259, "_iobuf", 'S', 24,\
		 "_ptr", #258, 0,\
		 "_base", #258, 4,\
		 "_cnt", #16, 8,\
		 "_bufsiz", #16, 12,\
		 "_flag", #5, 16,\
		 "_file", #2, 18,\
		 "_wcnt", #16, 20
	.symb	TYPE, 260, "FILE", 'T', #259
	.symb	TYPE, 261, "va_list", 'T', #258
	.symb	TYPE, 262, "size_t", 'T', #18
	.symb	TYPE, 263, "fpos_t", 'T', #7
	.symb	TYPE, 264, "off_t", 'T', #6
	.symb	ENDF
;    2 |#include "string.h"
	.symb	FILE, "d:\\ctri\\include\\string.h"
	.symb	ENDF
;    3 |#include "Main.h"
	.symb	FILE, "Main.h"
	.symb	TYPE, 265, "uword", 'T', #18
	.symb	FILE, "TC1775BRegs.h"
	.symb	ENDF
	.symb	FILE, "IO.H"
	.symb	ENDF
	.symb	FILE, "ASC0.H"
	.symb	TYPE, 266, "ushort", 'T', #5
	.symb	ENDF
	.symb	FILE, "ASC1.H"
	.symb	ENDF
	.symb	FILE, "CAN.H"
	.symb	TYPE, 267, "ubyte", 'T', #3
	.symb	TYPE, 268, 'Z', #3, 7
	.symb	TYPE, 270, 'S', 20,\
		 "usMsgCfg", #5, 0,\
		 "uwID", #18, 2,\
		 "uwMask", #18, 6,\
		 "ubData", #268, 10,\
		 "usCounter", #5, 18
	.symb	TYPE, 271, "TCAN_SWObj", 'T', #270
	.symb	ENDF
	.symb	ENDF
;    4 |
;    5 |#define OSZ_FREQUENCY 16 // external oszilator frequency in MHz
;    6 |
;    7 |// external Prototypes
;    8 |extern unsigned char FLASH_TEST_BANK1(void);
;    9 |extern unsigned char FLASH_TEST_BANK2(void);
;   10 |extern unsigned char RAM_TEST(void);
;   11 |extern unsigned char ucRtcTest(void);
;   12 |extern unsigned char ucEEPromTest(void);
;   13 |extern unsigned char ucASC_Test(void);
;   14 |extern unsigned char ucCAN_Test(void);
;   15 |unsigned char ucEthernetTest(void);
;   16 |unsigned char ucProgMAC(void);
;   17 |unsigned char ucTemperatur(void);
;   18 |//---------------------------------------------------
;   19 |
;   20 |
;   21 |void test (void);
;   22 |
;   23 |void test(void)   {
	.sdecl	"code.tc1775b",CODE
	.sect	"code.tc1775b"
	.align	4
	.symb	LINE, 23
	.symb	TYPE, 272, 'X', 8, #1, 26, 0
	.symb	GFUN, "test", test, #272, 0, 32, 0
	.symb	ALAB, test, #272
test:
	.symb	SOFF, 32
	.symb	IDEN, "quit", -28, #3, 131, 0x5
	.symb	IDEN, "ucKey", -24, #3, 131, 0x5
	.symb	IDEN, "uiFrequency", -20, #18, 131, 0x5
	.symb	IDEN, "uiPLL", -16, #18, 131, 0x5
	.symb	IDEN, "uiK_Fak", -12, #18, 131, 0x5
	.symb	IDEN, "uiN_Fak", -8, #18, 131, 0x5
	nop
	sub16.a	sp,#32
;   24 |
;   25 |unsigned char quit, ucKey;
;   26 |unsigned int	uiFrequency;
;   27 |unsigned int	uiPLL, uiK_Fak, uiN_Fak;
;   28 |quit =1;
	.symb	LINE, 28
	mov16	d15,#1				; quit
	st16.b	[sp]4,d15			; quit
;   29 |ucErrorFlag=0;
	.symb	LINE, 29
	mov16	d15,#0				; ucErrorFlag
	st.b	ucErrorFlag,d15			; ucErrorFlag
;   30 |
;   31 |// Mit den folgenden Bus-Einstellung beginnt der Test. Im Verlauf des Tests
;   32 |// können sich dei Einstellungen je nach erkanntem Speicher ändern.
;   33 |/*
;   34 |EBU_BUSCON0=0x00420a7c;	
;   35 |EBU_ADDSEL0=0xB0000041;	// 8MByte Flash an /CS0 
;   36 |EBU_BUSCON1=0x00020140;
;   37 |EBU_ADDSEL1=0xA0000071; // 1MB RAM an /CS1
;   38 |EBU_BUSCON2=0x00020140;
;   39 |EBU_ADDSEL2=0xA1000071;	// 1MB RAM an/CS2
;   40 |EBU_BUSCON3=0x00420a7c; // Flash an /CS3
;   41 |EBU_BUSCON3=0x000107FF;    // Ethernet 16-Bit BUS an /CS3
;   42 |EBU_ADDSEL3=0xB0400031; // 	8MByte an /CS3
;   43 |*/
;   44 |
;   45 |EBU_BUSCON3=0x60C1FFFF;    // Ethernet 16-Bit BUS an /CS3
	.symb	LINE, 45
	mov.u	d15,#0xffff
	addih	d15,d15,#0x60c1
	st.w	-268434068,d15
;   46 |EBU_ADDSEL3=0xB0800031; // 	8MByte an /CS3
	.symb	LINE, 46
	mov.u	d15,#0x31
	addih	d15,d15,#0xb080
	st.w	-268434132,d15
;   47 |
;   48 |// Berechnung der aktuellen Prozessorgeschwindigkeit
;   49 |uiPLL = PLL_CLC;
	.symb	LINE, 49
	ld.w	d15,-268435392
	st16.w	[sp]16,d15			; uiPLL
;   50 |uiK_Fak = ((uiPLL>>16) & 0x7)+2;
	.symb	LINE, 50
	ld16.w	d15,[sp]16			; uiPLL
	sh	d15,d15,#-16
	and	d15,d15,#7
	add16	d15,#2
	st16.w	[sp]20,d15			; uiK_Fak
;   51 |uiN_Fak = ((uiPLL>>12) & 0x7)+8;
	.symb	LINE, 51
	ld16.w	d15,[sp]16			; uiPLL
	sh	d15,d15,#-12
	and	d15,d15,#7
	addi	d15,d15,#8
	st16.w	[sp]24,d15			; uiN_Fak
;   52 |if (uiK_Fak > 6) uiK_Fak++;
	.symb	LINE, 52
	ld16.w	d15,[sp]20			; uiK_Fak
	jlt.u	d15,#7,_41
	ld16.w	d15,[sp]20			; uiK_Fak
	add16	d15,#1				; uiK_Fak
	st16.w	[sp]20,d15			; uiK_Fak
_41:
;   53 |if (uiPLL & 0x00008000)	 //0x00008000 = BYPASS
	.symb	LINE, 53
	nop
	ld16.w	d15,[sp]16			; uiPLL
	mov.u	d7,#32768			; 32768
	and16	d15,d7
	jeq	d15,#0,_42
;   54 |	uiFrequency = OSZ_FREQUENCY;
	.symb	LINE, 54
	mov16	d15,#16				; uiFrequency
	st16.w	[sp]12,d15			; uiFrequency
	j	_43
_42:
;   55 |else uiFrequency = OSZ_FREQUENCY*uiN_Fak/uiK_Fak;
	.symb	LINE, 55
	nop
	ld.w	d4,[sp]24			; uiN_Fak
	sh16	d4,#4
	ld.w	d5,[sp]20			; uiK_Fak
	callg	__rt_udivmod
	st.w	[sp]12,d2			; uiFrequency
_43:
;   56 |
;   57 |
;   58 |printf("\nTestprogramm fuer phyCORE-TC1775-B V1.1 %dMHz\n",uiFrequency);
	.symb	LINE, 58
	movh.a	a4,#@his(_17)
	lea	a4,[a4]@los(_17)
	ld16.w	d15,[sp]12			; uiFrequency
	st16.w	[sp],d15			; uiFrequency
	callg	printf
;   59 |
;   60 |if ( MANID == 0x00001820 ) 
	.symb	LINE, 60
	ld.w	d15,-268435344
	mov	d7,#6176			; 6176
	jne	d15,d7,_44
;   61 |	 printf("Manufacturer = Infineon Technologie DEP. AI MC\n");
	.symb	LINE, 61
	movh.a	a4,#@his(_18)
	lea	a4,[a4]@los(_18)
	callg	printf
	j	_45
_44:
;   62 |else printf("Manufacturer = UNKNOWN\n");
	.symb	LINE, 62
	movh.a	a4,#@his(_19)
	lea	a4,[a4]@los(_19)
	callg	printf
_45:
;   63 |if ( CHIPID == 0x00008002 )
	.symb	LINE, 63
	ld.w	d15,-268435340
	mov.u	d7,#32770			; 32770
	jne	d15,d7,_46
;   64 |	printf("Chip Identification = TC1775 Revision 1\n");
	.symb	LINE, 64
	movh.a	a4,#@his(_20)
	lea	a4,[a4]@los(_20)
	callg	printf
	j	_47
_46:
;   65 |else printf("Chip Identification = UNKNOWN\n");
	.symb	LINE, 65
	movh.a	a4,#@his(_21)
	lea	a4,[a4]@los(_21)
	callg	printf
_47:
;   66 |if ( RTID ==  0)
	.symb	LINE, 66
	ld.w	d15,-268435336
	jne	d15,#0,_48
;   67 |	printf("Redesign Tracing ID = Original Revision, no laser correction\n");
	.symb	LINE, 67
	movh.a	a4,#@his(_22)
	lea	a4,[a4]@los(_22)
	callg	printf
	j	_49
_48:
;   68 |else printf("Redesign Tracing ID = UNKNOWN\n");
	.symb	LINE, 68
	movh.a	a4,#@his(_23)
	lea	a4,[a4]@los(_23)
	callg	printf
_49:
;   69 |
;   70 |do {
	.symb	LINE, 70
_50:
;   71 |printf("1 RAM1/2-Test\n");
	.symb	LINE, 71
	movh.a	a4,#@his(_24)
	lea	a4,[a4]@los(_24)
	callg	printf
;   72 |printf("2 Flashtest Bank 1\n");
	.symb	LINE, 72
	movh.a	a4,#@his(_25)
	lea	a4,[a4]@los(_25)
	callg	printf
;   73 |printf("3 Flashtest Bank 2\n");
	.symb	LINE, 73
	movh.a	a4,#@his(_26)
	lea	a4,[a4]@los(_26)
	callg	printf
;   74 |printf("4 Serial0/1-Test (Testadapter needed)\n");
	.symb	LINE, 74
	movh.a	a4,#@his(_27)
	lea	a4,[a4]@los(_27)
	callg	printf
;   75 |printf("5 CAN Test (Testadapter needed)\n");
	.symb	LINE, 75
	movh.a	a4,#@his(_28)
	lea	a4,[a4]@los(_28)
	callg	printf
;   76 |printf("6 EEPROM Test\n");
	.symb	LINE, 76
	movh.a	a4,#@his(_29)
	lea	a4,[a4]@los(_29)
	callg	printf
;   77 |printf("7 Ethernet Test (Looptest adapter needed)\n");
	.symb	LINE, 77
	movh.a	a4,#@his(_30)
	lea	a4,[a4]@los(_30)
	callg	printf
;   78 |printf("8 RTC Test \n");
	.symb	LINE, 78
	movh.a	a4,#@his(_31)
	lea	a4,[a4]@los(_31)
	callg	printf
;   79 |printf("9 Show Temperatur \n");
	.symb	LINE, 79
	movh.a	a4,#@his(_32)
	lea	a4,[a4]@los(_32)
	callg	printf
;   80 |printf("a alle Tests\n");
	.symb	LINE, 80
	movh.a	a4,#@his(_33)
	lea	a4,[a4]@los(_33)
	callg	printf
;   81 |printf("b baseboard Tests\n");
	.symb	LINE, 81
	movh.a	a4,#@his(_34)
	lea	a4,[a4]@los(_34)
	callg	printf
;   82 |printf("c program MAC-Address\n");
	.symb	LINE, 82
	movh.a	a4,#@his(_35)
	lea	a4,[a4]@los(_35)
	callg	printf
;   83 |printf("q Test beenden\n");
	.symb	LINE, 83
	movh.a	a4,#@his(_36)
	lea	a4,[a4]@los(_36)
	callg	printf
;   84 |printf("Please select test number:\n");
	.symb	LINE, 84
	movh.a	a4,#@his(_37)
	lea	a4,[a4]@los(_37)
	callg	printf
;   85 |
;   86 |while ( (ucKey=getchar()) == '\r' || ucKey == '\n');
	.symb	LINE, 86
	j	_52
_51:
_52:
_53:
_54:
	movh.a	a15,#@his(_iob+8)
	lea	a15,[a15]@los(_iob+8)
	ld16.w	d15,[a15]
	add16	d15,#1
	movh.a	a15,#@his(_iob+8)
	lea	a15,[a15]@los(_iob+8)
	st16.w	[a15],d15
	jge	d15,#0,_97
	movh.a	a15,#@his(_iob)
	lea	a15,[a15]@los(_iob)
	ld.a	a7,[a15]
	mov16.aa a15,a7
	add16.a	a7,#1
	movh.a	a6,#@his(_iob)
	lea	a6,[a6]@los(_iob)
	st.a	[a6],a7
	ld.b	d15,[a15]
	and	d15,d15,#255
	j	_98
_97:
	movh.a	a4,#@his(_iob)
	lea	a4,[a4]@los(_iob)
	callg	_filbuf
	mov16	d15,d2
_98:
	extr.u	d15,d15,#0,#8			; ucKey
	st16.b	[sp]8,d15			; ucKey
	eq	d15,d15,#13
	jne	d15,#0,_54
	ld16.bu	d15,[sp]8			; ucKey
	eq	d15,d15,#10
	jne	d15,#0,_53
;   87 | 
;   88 |
;   89 |	switch (ucKey)
	.symb	LINE, 89
	ld16.bu	d15,[sp]8			; ucKey
	addi	d15,d15,#-57
	jeq	d15,#-8,_56			; case 49
	jeq	d15,#-7,_58			; case 50
	jeq	d15,#-6,_60			; case 51
	jeq	d15,#-5,_71			; case 52
	jeq	d15,#-4,_74			; case 53
	jeq	d15,#-3,_62			; case 54
	jeq	d15,#-2,_77			; case 55
	jeq	d15,#-1,_64			; case 56
	jeq	d15,#0,_66			; case 57
	addi	d15,d15,#-42
	jeq	d15,#-2,_55			; case 97
	jeq	d15,#-1,_70			; case 98
	jeq	d15,#0,_68			; case 99
	add16	d15,#-8
	jeq	d15,#6,_80			; case 113
	j	_91				; default
;   90 |	{
;   91 |	    case 'a':
	.symb	LINE, 91
_55:
;   92 |		case '1':
	.symb	LINE, 92
_56:
;   93 |		       	ucErrorFlag |= RAM_TEST(); 	   //Test der zweiten RAM-Bank ist ausmaskiert
	.symb	LINE, 93
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	RAM_TEST
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;   94 |	       		if (ucKey != 'a') break;  
	.symb	LINE, 94
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_57
	j	_91
_57:
;   95 |		case '2':
	.symb	LINE, 95
_58:
;   96 |			    ucErrorFlag |= FLASH_TEST_BANK1();
	.symb	LINE, 96
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	FLASH_TEST_BANK1
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;   97 |                if (ucKey != 'a') break; 
	.symb	LINE, 97
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_59
	j	_91
_59:
;   98 |		case '3':
	.symb	LINE, 98
_60:
;   99 |//			    ucErrorFlag |= FLASH_TEST_BANK2();
;  100 |	       		if (ucKey != 'a') break;
	.symb	LINE, 100
	nop
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_61
	j	_91
_61:
;  101 |		case '6':
	.symb	LINE, 101
_62:
;  102 |	 	  		ucErrorFlag |= ucEEPromTest();
	.symb	LINE, 102
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	ucEEPromTest
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;  103 |	      		if (ucKey != 'a') break;
	.symb	LINE, 103
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_63
	j	_91
_63:
;  104 |		case '8': 
	.symb	LINE, 104
_64:
;  105 | 		  		ucErrorFlag |= ~ucRtcTest();
	.symb	LINE, 105
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	ucRtcTest
	xnor	d2,d2,#0
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;  106 |			    if (ucKey != 'a') break;
	.symb	LINE, 106
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_65
	j	_91
_65:
;  107 |		case '9': 
	.symb	LINE, 107
_66:
;  108 |// 		  		printf("actual Temperatur = %3d °C\n",ucTemperatur());
;  109 |			    if (ucKey != 'a') break;
	.symb	LINE, 109
	nop
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_67
	j	_91
_67:
;  110 |		case 'c':
	.symb	LINE, 110
_68:
;  111 |				ucErrorFlag |= ucProgMAC();
	.symb	LINE, 111
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	ucProgMAC
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;  112 |		        if (ucKey != 'a') break;
	.symb	LINE, 112
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_69
	j	_91
_69:
;  113 |		case 'b':
	.symb	LINE, 113
_70:
;  114 |		case '4': 
	.symb	LINE, 114
_71:
;  115 |				ucErrorFlag |= ucASC_Test();
	.symb	LINE, 115
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	ucASC_Test
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;  116 |		        if ((ucKey != 'a') && (ucKey != 'b')) break;
	.symb	LINE, 116
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_73
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#98
	jeq	d15,#0,_73
	j	_91
_73:
;  117 |		case '5':
	.symb	LINE, 117
_74:
;  118 |				ucErrorFlag |= ucCAN_Test();
	.symb	LINE, 118
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	ucCAN_Test
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;  119 | 		        if ((ucKey != 'a') && (ucKey != 'b')) break;
	.symb	LINE, 119
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_76
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#98
	jeq	d15,#0,_76
	j	_91
_76:
;  120 |		case '7':
	.symb	LINE, 120
_77:
;  121 |				ucErrorFlag |= ucEthernetTest();
	.symb	LINE, 121
	ld.bu	d14,ucErrorFlag			; ucErrorFlag
	callg	ucEthernetTest
	or16	d14,d2				; ucErrorFlag
	st.b	ucErrorFlag,d14			; ucErrorFlag
;  122 |		        if ((ucKey != 'a') && (ucKey != 'b')) break;
	.symb	LINE, 122
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#97
	jeq	d15,#0,_79
	ld16.bu	d15,[sp]8			; ucKey
	ne	d15,d15,#98
	jeq	d15,#0,_79
	j	_91
_79:
;  123 |		case 'q':
	.symb	LINE, 123
_80:
;  124 |				quit = 0;
	.symb	LINE, 124
	mov16	d15,#0				; quit
	st16.b	[sp]4,d15			; quit
;  125 |				printf("carpe diem!\n");
	.symb	LINE, 125
	movh.a	a4,#@his(_38)
	lea	a4,[a4]@los(_38)
	callg	printf
;  126 |				break;
;  127 |	} 
	.symb	LINE, 127
_91:
;  128 |   } while (quit);
	.symb	LINE, 128
	nop
	ld16.bu	d15,[sp]4			; quit
	jne	d15,#0,_50			; quit
;  129 |
;  130 |if (ucErrorFlag != 0) printf(" ERROR FOUND!!! %2x\n",ucErrorFlag);
	.symb	LINE, 130
	ld.bu	d15,ucErrorFlag			; ucErrorFlag
	jeq	d15,#0,_92			; ucErrorFlag
	movh.a	a4,#@his(_39)
	lea	a4,[a4]@los(_39)
	ld.bu	d15,ucErrorFlag			; ucErrorFlag
	st16.w	[sp],d15			; ucErrorFlag
	callg	printf
	j	_93
_92:
;  131 |else printf("O.K. O.K. O.K\n");
	.symb	LINE, 131
	movh.a	a4,#@his(_40)
	lea	a4,[a4]@los(_40)
	callg	printf
_93:
;  132 |//printf("Error-Flag = %2x\n",ucErrorFlag);
;  133 |while(1);    // endlos Schleife
	.symb	LINE, 133
	j	_95
_94:
_95:
_96:
	j	_96
;  134 |
;  135 |} // End of Test
	.symb	LINE, 135
	ret16
	.symb	EFUN
;  136 |
;  137 |
	.symb	ENDF
	.sdecl	"fardata.tc1775b",DATA,INIT
	.sect	"fardata.tc1775b"
	.align	4
_29:
	.ascii	"6 EEPROM Test"
	.byte	0x0a,0x00
	.align	2
_36:
	.ascii	"q Test beenden"
	.byte	0x0a,0x00
_20:
	.ascii	"Chip Identification = TC1775 Revision 1"
	.byte	0x0a,0x00
	.align	2
_17:
	.byte	0x0a
	.ascii	"Testprogramm fuer phyCORE-TC1775-B V1.1 %dMHz"
	.byte	0x0a,0x00
	.symb	TYPE, 273, 'X', 8, #3, 26, 0
	.symb	ALAB, ucCAN_Test, #273
_27:
	.ascii	"4 Serial0/1-Test (Testadapter needed)"
	.byte	0x0a,0x00
	.align	2
_35:
	.ascii	"c program MAC-Address"
	.byte	0x0a,0x00
	.align	2
_31:
	.ascii	"8 RTC Test "
	.byte	0x0a,0x00
	.symb	TYPE, 274, 'X', 8, #3, 26, 0
	.symb	ALAB, RAM_TEST, #274
	.align	2
_21:
	.ascii	"Chip Identification = UNKNOWN"
	.byte	0x0a,0x00
	.symb	TYPE, 275, 'X', 8, #3, 26, 0
	.symb	ALAB, ucEthernetTest, #275
	.align	2
_40:
	.ascii	"O.K. O.K. O.K"
	.byte	0x0a,0x00
	.align	2
_38:
	.ascii	"carpe diem!"
	.byte	0x0a,0x00
	.symb	ALAB, ucErrorFlag, #3
	.align	2
_22:
	.ascii	"Redesign Tracing ID = Original Revision, no laser correctio"
	.ascii	"n"
	.byte	0x0a,0x00
_24:
	.ascii	"1 RAM1/2-Test"
	.byte	0x0a,0x00
	.align	2
_25:
	.ascii	"2 Flashtest Bank 1"
	.byte	0x0a,0x00
	.symb	TYPE, 276, 'Z', #259, 9
	.symb	ALAB, _iob, #276
_28:
	.ascii	"5 CAN Test (Testadapter needed)"
	.byte	0x0a,0x00
	.align	2
_18:
	.ascii	"Manufacturer = Infineon Technologie DEP. AI MC"
	.byte	0x0a,0x00
	.symb	TYPE, 278, 'X', 8, #3, 26, 0
	.symb	ALAB, ucEEPromTest, #278
_26:
	.ascii	"3 Flashtest Bank 2"
	.byte	0x0a,0x00
_37:
	.ascii	"Please select test number:"
	.byte	0x0a,0x00
	.symb	TYPE, 279, 'X', 8, #16, 26, 2, #258, #1
	.symb	ALAB, printf, #279
_32:
	.ascii	"9 Show Temperatur "
	.byte	0x0a,0x00
_19:
	.ascii	"Manufacturer = UNKNOWN"
	.byte	0x0a,0x00
	.symb	TYPE, 280, 'X', 8, #3, 26, 0
	.symb	ALAB, ucProgMAC, #280
_39:
	.ascii	" ERROR FOUND!!! %2x"
	.byte	0x0a,0x00
	.align	2
_30:
	.ascii	"7 Ethernet Test (Looptest adapter needed)"
	.byte	0x0a,0x00
	.align	2
_33:
	.ascii	"a alle Tests"
	.byte	0x0a,0x00
	.symb	TYPE, 281, 'X', 8, #3, 26, 0
	.symb	ALAB, FLASH_TEST_BANK1, #281
_34:
	.ascii	"b baseboard Tests"
	.byte	0x0a,0x00
	.symb	TYPE, 282, 'X', 8, #3, 26, 0
	.symb	ALAB, ucRtcTest, #282
	.align	2
_23:
	.ascii	"Redesign Tracing ID = UNKNOWN"
	.byte	0x0a,0x00
	.symb	TYPE, 283, 'X', 8, #3, 26, 0
	.symb	ALAB, ucASC_Test, #283
	.symb	TYPE, 286, 'P', #259
	.symb	TYPE, 284, 'X', 8, #16, 26, 1, #286
	.symb	ALAB, _filbuf, #284
	.align	4
	.global	test
	.extern	(CODE) FLASH_TEST_BANK1
	.extern	(CODE) RAM_TEST
	.extern	(CODE) _filbuf
	.extern	(DATA) _iob
	.extern	(CODE) printf
	.extern	(CODE) ucASC_Test
	.extern	(CODE) ucCAN_Test
	.extern	(CODE) ucEEPromTest
	.extern	(DATA,ABS18) ucErrorFlag
	.extern	(CODE) ucEthernetTest
	.extern	(CODE) ucProgMAC
	.extern	(CODE) ucRtcTest
	.extern	(CODE) __rt_udivmod
	.calls	"test", "FLASH_TEST_BANK1"
	.calls	"test", "RAM_TEST"
	.calls	"test", "_filbuf"
	.calls	"test", "printf"
	.calls	"test", "ucASC_Test"
	.calls	"test", "ucCAN_Test"
	.calls	"test", "ucEEPromTest"
	.calls	"test", "ucEthernetTest"
	.calls	"test", "ucProgMAC"
	.calls	"test", "ucRtcTest"
