RC51 COMPILER V3.03.16, LCD 11/23/01 11:18:43 PAGE 1 QCW(0x00002F32) WIN32 RC51 COMPILER V3.03.16, COMPILATION OF MODULE LCD OBJECT MODULE PLACED IN u:\binome3\divers\lcd\lcd.obj COMPILER INVOKED BY: RC51.EXE U:\BINOME3\DIVERS\LCD\LCD.C OBJECT(U:\BINOME3\DIVE -RS\LCD\LCD.OBJ) PIN(C:\PROGRAM FILES\RIDE\INC) NOAM PR(U:\BINOME3\D -IVERS\LCD\LCD.LST) CD SB OE(1) SM FP(NOFLOAT) PW(80) NOIS UNSIGNEDC -HAR stmt level source 1 /****************************************************** 2 Project : TESTLCD.PRJ 3 Author : HC Raisonance 1998 4 File : LCD.C 5 Subject : Sample test for 51-Monitor using LCD display 6 C routines 7 ******************************************************/ 8 9 // LCD display functions prototypes and structure defintions 10 #include 11 12 // LCD mapping addresses 13 at LCD_BASE xdata tLCD LCD_demo; 14 static unsigned char dd_ram_addr = 0x80; 15 16 #pragma NOAREGS 17 18 19 void clrscr() 20 { LCDclear(); WARNING C090 IN LINE 20 OF lcd.c : Call to function 'LCDclear' without prototyp -e 21 1 } 22 23 24 25 int putchar(const int v) 26 { unsigned char v1; 27 1 28 1 v1 = (unsigned char) v; 29 1 30 1 switch (v1) 31 1 { case '\n' : LCDCrLf(); 32 2 break; 33 2 34 2 case '\r' : LCDCrLf(); 35 2 break; 36 2 37 2 default : LCDPutchar(v); 38 2 break; 39 2 } // end switch(v) 40 1 41 1 return(v); 42 1 43 1 } // end putchar(v) 44 45 46 47 /********************************************************* 48 Function DelayMSEC : delay for k msec with a crystal at 49 14.7456 MHz in small memory model 50 *********************************************************/ 51 void DelayMSEC (unsigned int k) 52 { 53 1 unsigned int i,j; 54 1 for ( j = 0; j < k; j++) 55 1 for (i = 0; i <= MILLI_SEC;) // 1 millisecond 56 1 { 57 2 i++; 58 2 } 59 1 } 60 61 /********************************************************* 62 Function LCDWait : Waits for display to be finished 63 *********************************************************/ 64 void LCDWait (void) 65 { 66 1 while (LCD_demo.ird & 0x80); 67 1 } 68 69 /********************************************************* 70 Function LCDClear : Clears LCD display 71 *********************************************************/ 72 void LCDClear (void) 73 { 74 1 while (LCD_demo.ird & 0x80); 75 1 LCD_demo.iwr = CLEAR_DISPLAY; 76 1 } 77 78 /********************************************************* 79 Function LCDHome : Moves cursor to home 80 *********************************************************/ 81 void LCDHome (void) 82 { 83 1 while (LCD_demo.ird & 0x80); 84 1 LCD_demo.iwr = LCD_HOME; 85 1 } 86 87 /********************************************************* 88 Function LCDShr : Moves cursor one step to the right 89 *********************************************************/ 90 void LCDShr (void) 91 { 92 1 while (LCD_demo.ird & 0x80); 93 1 LCD_demo.iwr = 0x1c; 94 1 } 95 96 /********************************************************* 97 Function LCDShl : Moves cursor one step to the left 98 *********************************************************/ 99 void LCDShl (void) 100 { 101 1 while (LCD_demo.ird & 0x80); 102 1 LCD_demo.iwr = 0x18; 103 1 } 104 105 /********************************************************* 106 Function LCDEntryMode : Set LCD into a specific mode 107 *********************************************************/ 108 void LCDEntryMode (unsigned char mode) 109 { 110 1 while (LCD_demo.ird & 0x80); 111 1 LCD_demo.iwr = 0x04 + (mode & 0x3); 112 1 } 113 114 /* lcd_crlf passe l'affichage d'une ligne a l'autre */ 115 /********************************************************* 116 Function LCDCrLf : Change LCD display current line 117 *********************************************************/ 118 void LCDCrLf (void) 119 { 120 1 int i; 121 1 122 1 while (LCD_demo.ird & 0x80); 123 1 dd_ram_addr ^= 0x40; // Display address = 0 (1st line) or 0x40 - (2nd line) 124 1 LCD_demo.iwr = dd_ram_addr; 125 1 // for (i = 0; i < 16; i++) // Fill the line with spaces (ASCII 0 -x20)remplissage de la ligne avec des ' ' 126 1 // LCDPutchar(' '); 127 1 while (LCD_demo.ird & 0x80); 128 1 LCD_demo.iwr = dd_ram_addr; // Back to the beginning of line 129 1 } WARNING C092 IN LINE 120 OF lcd.c : 'i' is declared but not used 130 131 132 133 /********************************************************* 134 Function LCDCr : Return at home LCD display current line 135 *********************************************************/ 136 void LCDCr (void) 137 { 138 1 139 1 while (LCD_demo.ird & 0x80); // Wait busy 140 1 dd_ram_addr ^= 0x40; // Display address = 0 (1st line) or 0x40 - (2nd line) 141 1 while (LCD_demo.ird & 0x80); // Wait busy 142 1 LCD_demo.iwr = dd_ram_addr; // Back to the beginning of line 143 1 } 144 145 146 /********************************************************* 147 Function LCDDisplay : Displays the text pointed by ptr 148 This function is ok for '\n', 149 calling LCDCrLf if necessary. 150 *********************************************************/ 151 void LCDDisplay (char * ptr) 152 { 153 1 while (*ptr) 154 1 { 155 2 if (*ptr == '\n') 156 2 { 157 3 LCDCrLf(); 158 3 ptr++; 159 3 } 160 2 else LCDPutchar(*ptr++); 161 2 } 162 1 } 163 164 /********************************************************* 165 Function LCDPuts : Put a string on LCD display 166 *********************************************************/ 167 void LCDPuts (char * ptr) 168 { 169 1 while (*ptr) 170 1 LCDPutchar(*ptr++); 171 1 } 172 173 /********************************************************* 174 Function LCDInit : LCD Initializations 175 *********************************************************/ 176 void LCDInit (void) 177 { 178 1 DelayMSEC(15); 179 1 LCD_demo.iwr = FUNCTION_SET; 180 1 DelayMSEC(10); 181 1 LCD_demo.iwr = FUNCTION_SET; 182 1 DelayMSEC(10); 183 1 LCD_demo.iwr = FUNCTION_SET; 184 1 LCDWait(); 185 1 LCD_demo.iwr = ENTRY_MODE; 186 1 LCDWait(); 187 1 LCD_demo.iwr = DISPLAY_CONTROL; 188 1 LCDWait(); 189 1 LCD_demo.iwr = CLEAR_DISPLAY; 190 1 LCDWait(); 191 1 LCD_demo.iwr = SET_DD_RAM_ADDR; 192 1 dd_ram_addr = 0x80; 193 1 } 194 195 /********************************************************* 196 Function LCDPutchar : Display 'c' on LCD 197 *********************************************************/ 198 int LCDPutchar (const int c) 199 { 200 1 while (LCD_demo.ird & 0x80); 201 1 LCD_demo.dwr = (unsigned char) c; 202 1 return (c); 203 1 } 204 205 RC51 COMPILER V3.03.16, LCD 11/23/01 11:18:43 PAGE 2 ASSEMBLY LISTING OF GENERATED OBJECT CODE ; FUNCTION clrscr (BEGIN) ; SOURCE LINE # 20 0000 120000 R LCALL LCDclear 0003 22 RET ; FUNCTION clrscr (END) ; FUNCTION _putchar (BEGIN) ; SOURCE LINE # 41 0000 C0F0 PUSH B 0002 C083 PUSH DPH 0004 C082 PUSH DPL 0006 E8 MOV A,R0 0007 C0E0 PUSH ACC 0009 E9 MOV A,R1 000A C0E0 PUSH ACC 000C EA MOV A,R2 000D C0E0 PUSH ACC 000F EB MOV A,R3 0010 C0E0 PUSH ACC 0012 EC MOV A,R4 0013 C0E0 PUSH ACC 0015 ED MOV A,R5 0016 C0E0 PUSH ACC 0018 EE MOV A,R6 0019 C0E0 PUSH ACC 001B 8E00 R MOV v,R6 001D 8F00 R MOV v+01H,R7 ; SOURCE LINE # 28 001F 850000 R MOV v1,v+01H ; SOURCE LINE # 30 0022 E500 R MOV A,v1 0024 24F6 ADD A,#0F6H 0026 6006 JZ ?CASE2 0028 24FD ADD A,#0FDH 002A 6007 JZ ?CASE3 002C 800A SJMP ?DEFAULT1 002E ?CASE2: ; SOURCE LINE # 31 002E 120000 R LCALL LCDCrLf ; SOURCE LINE # 32 0031 800C SJMP ?NXT1 0033 ?CASE3: ; SOURCE LINE # 34 0033 120000 R LCALL LCDCrLf ; SOURCE LINE # 35 0036 8007 SJMP ?NXT1 0038 ?DEFAULT1: ; SOURCE LINE # 37 0038 AE00 R MOV R6,v 003A AF00 R MOV R7,v+01H 003C 120000 R LCALL _LCDPutchar 003F ?NXT1: ; SOURCE LINE # 41 003F AF00 R MOV R7,v+01H 0041 D0E0 POP ACC 0043 FE MOV R6,A 0044 D0E0 POP ACC 0046 FD MOV R5,A 0047 D0E0 POP ACC 0049 FC MOV R4,A 004A D0E0 POP ACC 004C FB MOV R3,A 004D D0E0 POP ACC 004F FA MOV R2,A 0050 D0E0 POP ACC 0052 F9 MOV R1,A 0053 D0E0 POP ACC 0055 F8 MOV R0,A 0056 D082 POP DPL 0058 D083 POP DPH 005A D0F0 POP B 005C 22 RET ; FUNCTION _putchar (END) ; FUNCTION _DelayMSEC (BEGIN) ; Register R6R7 is assigned to parameter k ; R2R3 is assigned to i ; R4R5 is assigned to j ; SOURCE LINE # 54 0000 E4 CLR A 0001 FC MOV R4,A 0002 FD MOV R5,A 0003 ?FOR2: 0003 8EF0 MOV B,R6 0005 EC MOV A,R4 0006 B5F006 CJNE A,B,?LAB13 0009 8FF0 MOV B,R7 000B ED MOV A,R5 000C B5F000 CJNE A,B,?LAB13 000F ?LAB13: 000F 501A JNC ?NXT6 ; SOURCE LINE # 55 0011 E4 CLR A 0012 FA MOV R2,A 0013 FB MOV R3,A 0014 ?FOR3: 0014 BA0204 CJNE R2,#002H,?LAB15 0017 BB2101 CJNE R3,#021H,?LAB15 001A D3 SETB C 001B ?LAB15: 001B 5007 JNC ?NXT7 ; SOURCE LINE # 57 001D 0B INC R3 001E EB MOV A,R3 001F 70F3 JNZ ?FOR3 0021 0A INC R2 0022 80F0 SJMP ?FOR3 0024 ?NXT7: ; SOURCE LINE # 54 0024 0D INC R5 0025 ED MOV A,R5 0026 70DB JNZ ?FOR2 0028 0C INC R4 0029 80D8 SJMP ?FOR2 002B ?NXT6: 002B 22 RET ; FUNCTION _DelayMSEC (END) ; FUNCTION LCDWait (BEGIN) 0000 ?WHILE1: ; SOURCE LINE # 66 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE1 0007 22 RET ; FUNCTION LCDWait (END) ; FUNCTION LCDClear (BEGIN) 0000 ?WHILE3: ; SOURCE LINE # 74 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE3 ; SOURCE LINE # 75 0007 90E000 MOV DPTR,#LCD_demo 000A 7401 MOV A,#001H 000C F0 MOVX @DPTR,A 000D 22 RET ; FUNCTION LCDClear (END) ; FUNCTION LCDHome (BEGIN) 0000 ?WHILE5: ; SOURCE LINE # 83 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE5 ; SOURCE LINE # 84 0007 90E000 MOV DPTR,#LCD_demo 000A 7402 MOV A,#002H 000C F0 MOVX @DPTR,A 000D 22 RET ; FUNCTION LCDHome (END) ; FUNCTION LCDShr (BEGIN) 0000 ?WHILE7: ; SOURCE LINE # 92 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE7 ; SOURCE LINE # 93 0007 90E000 MOV DPTR,#LCD_demo 000A 741C MOV A,#01CH 000C F0 MOVX @DPTR,A 000D 22 RET ; FUNCTION LCDShr (END) ; FUNCTION LCDShl (BEGIN) 0000 ?WHILE9: ; SOURCE LINE # 101 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE9 ; SOURCE LINE # 102 0007 90E000 MOV DPTR,#LCD_demo 000A 7418 MOV A,#018H 000C F0 MOVX @DPTR,A 000D 22 RET ; FUNCTION LCDShl (END) ; FUNCTION _LCDEntryMode (BEGIN) ; Register R7 is assigned to parameter mode 0000 ?WHILE11: ; SOURCE LINE # 110 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE11 ; SOURCE LINE # 111 0007 EF MOV A,R7 0008 5403 ANL A,#003H 000A 2404 ADD A,#004H 000C 90E000 MOV DPTR,#LCD_demo 000F F0 MOVX @DPTR,A 0010 22 RET ; FUNCTION _LCDEntryMode (END) ; FUNCTION LCDCrLf (BEGIN) 0000 ?WHILE14: ; SOURCE LINE # 122 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE14 ; SOURCE LINE # 123 0007 630040 R XRL dd_ram_addr,#040H ; SOURCE LINE # 124 000A 90E000 MOV DPTR,#LCD_demo 000D E500 R MOV A,dd_ram_addr 000F F0 MOVX @DPTR,A 0010 ?WHILE15: ; SOURCE LINE # 127 0010 90E002 MOV DPTR,#LCD_demo+02H 0013 E0 MOVX A,@DPTR 0014 20E7F9 JB ACC.7,?WHILE15 ; SOURCE LINE # 128 0017 90E000 MOV DPTR,#LCD_demo 001A E500 R MOV A,dd_ram_addr 001C F0 MOVX @DPTR,A 001D 22 RET ; FUNCTION LCDCrLf (END) ; FUNCTION LCDCr (BEGIN) 0000 ?WHILE18: ; SOURCE LINE # 139 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE18 ; SOURCE LINE # 140 0007 630040 R XRL dd_ram_addr,#040H 000A ?WHILE19: ; SOURCE LINE # 141 000A 90E002 MOV DPTR,#LCD_demo+02H 000D E0 MOVX A,@DPTR 000E 20E7F9 JB ACC.7,?WHILE19 ; SOURCE LINE # 142 0011 90E000 MOV DPTR,#LCD_demo 0014 E500 R MOV A,dd_ram_addr 0016 F0 MOVX @DPTR,A 0017 22 RET ; FUNCTION LCDCr (END) ; FUNCTION _LCDDisplay (BEGIN) ; SOURCE LINE # 151 0000 8B00 R MOV ptr,R3 0002 8A00 R MOV ptr+01H,R2 0004 8900 R MOV ptr+02H,R1 0006 ?WHILE21: ; SOURCE LINE # 153 0006 AB00 R MOV R3,ptr 0008 AA00 R MOV R2,ptr+01H 000A A900 R MOV R1,ptr+02H 000C 120000 R LCALL IPGN1?C 000F 602C JZ ?NXT32 ; SOURCE LINE # 155 0011 120000 R LCALL IPGN1?C 0014 B40A0D CJNE A,#00AH,?ELSE1 ; SOURCE LINE # 157 0017 120000 R LCALL LCDCrLf ; SOURCE LINE # 158 001A 0500 R INC ptr+02H 001C E500 R MOV A,ptr+02H 001E 701B JNZ ?NXT33 0020 0500 R INC ptr+01H 0022 80E2 SJMP ?WHILE21 0024 ?ELSE1: ; SOURCE LINE # 160 0024 AB00 R MOV R3,ptr 0026 AA00 R MOV R2,ptr+01H 0028 A900 R MOV R1,ptr+02H 002A 0500 R INC ptr+02H 002C E500 R MOV A,ptr+02H 002E 7002 JNZ ?LAB40 0030 0500 R INC ptr+01H 0032 ?LAB40: 0032 120000 R LCALL IPGN1?C 0035 FF MOV R7,A 0036 7E00 MOV R6,#000H 0038 120000 R LCALL _LCDPutchar 003B ?NXT33: 003B 80C9 SJMP ?WHILE21 003D ?NXT32: 003D 22 RET ; FUNCTION _LCDDisplay (END) ; FUNCTION _LCDPuts (BEGIN) ; SOURCE LINE # 167 0000 8B00 R MOV ptr,R3 0002 8A00 R MOV ptr+01H,R2 0004 8900 R MOV ptr+02H,R1 0006 ?WHILE23: ; SOURCE LINE # 169 0006 AB00 R MOV R3,ptr 0008 AA00 R MOV R2,ptr+01H 000A A900 R MOV R1,ptr+02H 000C 120000 R LCALL IPGN1?C 000F 6013 JZ ?NXT35 ; SOURCE LINE # 170 0011 0500 R INC ptr+02H 0013 E500 R MOV A,ptr+02H 0015 7002 JNZ ?LAB44 0017 0500 R INC ptr+01H 0019 ?LAB44: 0019 120000 R LCALL IPGN1?C 001C FF MOV R7,A 001D 7E00 MOV R6,#000H 001F 120000 R LCALL _LCDPutchar 0022 80E2 SJMP ?WHILE23 0024 ?NXT35: 0024 22 RET ; FUNCTION _LCDPuts (END) ; FUNCTION LCDInit (BEGIN) ; SOURCE LINE # 178 0000 E4 CLR A 0001 FE MOV R6,A 0002 7F0F MOV R7,#00FH 0004 120000 R LCALL _DelayMSEC ; SOURCE LINE # 179 0007 90E000 MOV DPTR,#LCD_demo 000A 7438 MOV A,#038H 000C F0 MOVX @DPTR,A ; SOURCE LINE # 180 000D 7F0A MOV R7,#00AH 000F 120000 R LCALL _DelayMSEC ; SOURCE LINE # 181 0012 90E000 MOV DPTR,#LCD_demo 0015 7438 MOV A,#038H 0017 90E000 MOV DPTR,#LCD_demo 001A F0 MOVX @DPTR,A ; SOURCE LINE # 182 001B 120000 R LCALL _DelayMSEC ; SOURCE LINE # 183 001E 90E000 MOV DPTR,#LCD_demo 0021 7438 MOV A,#038H 0023 90E000 MOV DPTR,#LCD_demo 0026 F0 MOVX @DPTR,A ; SOURCE LINE # 184 0027 120000 R LCALL LCDWait ; SOURCE LINE # 185 002A 90E000 MOV DPTR,#LCD_demo 002D 7406 MOV A,#006H 002F F0 MOVX @DPTR,A ; SOURCE LINE # 186 0030 120000 R LCALL LCDWait ; SOURCE LINE # 187 0033 90E000 MOV DPTR,#LCD_demo 0036 740C MOV A,#00CH 0038 F0 MOVX @DPTR,A ; SOURCE LINE # 188 0039 120000 R LCALL LCDWait ; SOURCE LINE # 189 003C 90E000 MOV DPTR,#LCD_demo 003F 7401 MOV A,#001H 0041 F0 MOVX @DPTR,A ; SOURCE LINE # 190 0042 120000 R LCALL LCDWait ; SOURCE LINE # 191 0045 90E000 MOV DPTR,#LCD_demo 0048 7480 MOV A,#080H 004A F0 MOVX @DPTR,A ; SOURCE LINE # 192 004B F500 R MOV dd_ram_addr,A 004D 22 RET ; FUNCTION LCDInit (END) ; FUNCTION _LCDPutchar (BEGIN) ; Register R6R7 is assigned to parameter c 0000 ?WHILE25: ; SOURCE LINE # 200 0000 90E002 MOV DPTR,#LCD_demo+02H 0003 E0 MOVX A,@DPTR 0004 20E7F9 JB ACC.7,?WHILE25 ; SOURCE LINE # 201 0007 EF MOV A,R7 0008 90E001 MOV DPTR,#LCD_demo+01H 000B F0 MOVX @DPTR,A ; SOURCE LINE # 202 000C 22 RET ; FUNCTION _LCDPutchar (END) RC51 COMPILER V3.03.16, LCD 11/23/01 11:18:43 PAGE 3 NAME CLASS MSPACE TYPE OFFSET SIZE ==== ===== ====== ==== ====== ==== sLCD . . . . . . . . . . . . . . . . . * TAG * ----- STRUCT ----- 4 iwr. . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1 dwr. . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1 ird. . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1 drd. . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0003H 1 dd_ram_addr. . . . . . . . . . . . . . STATIC DATA U_CHAR 0000H 1 clrscr . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- putchar. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- v?053. . . . . . . . . . . . . . . . PARAM DATA INT 0000H 2 v?053. . . . . . . . . . . . . . . . PARAM DATA INT 0000H 2 v1?054 . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1 DelayMSEC. . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- k?055. . . . . . . . . . . . . . . . PARAM DATA U_INT 0000H 2 k?055. . . . . . . . . . . . . . . . PARAM DATA U_INT 0000H 2 i?056. . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2 j?057. . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2 LCDWait. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDClear . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDHome. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDShr . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDShl . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDEntryMode . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- mode?063 . . . . . . . . . . . . . . PARAM DATA U_CHAR 0000H 1 mode?063 . . . . . . . . . . . . . . PARAM DATA U_CHAR 0000H 1 LCDCrLf. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- i?065. . . . . . . . . . . . . . . . . AUTO DATA INT 0000H 2 LCDCr. . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDDisplay . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- ptr?067. . . . . . . . . . . . . . . PARAM DATA PTR 0000H 3 ptr?067. . . . . . . . . . . . . . . PARAM DATA PTR 0000H 3 LCDPuts. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- ptr?068. . . . . . . . . . . . . . . PARAM DATA PTR 0000H 3 ptr?068. . . . . . . . . . . . . . . PARAM DATA PTR 0000H 3 LCDInit. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- LCDPutchar . . . . . . . . . . . . . . PUBLIC CODE PROC ----- ----- c?070. . . . . . . . . . . . . . . . PARAM DATA INT 0000H 2 c?070. . . . . . . . . . . . . . . . PARAM DATA INT 0000H 2 LCDclear . . . . . . . . . . . . . . . EXTERN CODE PROC ----- ----- RC51 COMPILER V3.03.16, LCD 11/23/01 11:18:44 PAGE 4 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 466 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 1 7 IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. RC51 COMPILATION COMPLETE. 2 WARNINGS, 0 ERROR