; test17.asm ; ; Programme de test du 8031 N° 17 ; Test de la bibliotheque conversion ASCII <-> Hexa ; (C) CHAMOUARD 2002 ; (Libre de droits pour utilisation non ; commerciale et à vos propres risques) ; ; Matériel requis : ; carte 8031 base 1, programme chargé en 2000h ; afficheur/clavier LCD 2*16 aux adresses spécifiées ci-dessous ; Bibliothèques requises : ; libasc.asm decodages ASCII ; liblcd.asm afficheur ; libcla2.asm clavier 1-8 touches ; Sortie : ; affichage avant et après l'opération testée (voir dans le fichier) ; appuyer sur un touche pour faire avancer le programme word LcdCmdReadAdd, #E002h word LcdCmdWriteAdd, #E000h word LcdDataReadAdd, #E003h word LcdDataWriteAdd,#E001h word ClaAdd, #E040h byte ClaAntiRebonDly,#20 word Buffext, #4000h direct BuffStrt, 10h ORG 2000h ; Debut du programme ljmp Begin Begin: mov SP,#3fh ; Debut de pile en 40h lcall LcdInit lcall LcdCurseurOn ; Test conversion hexa -> ASCII 1/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov A,#0 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=00 Affichage 0 C=0 mov A,#8 lcall LcdCurseur mov A,#3 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=03 Affichage 3 C=0 mov A,#16 lcall LcdCurseur mov A,#9 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=09 Affichage 9 C=0 mov A,#24 lcall LcdCurseur mov A,#10 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=0A Affichage A C=0 lcall ToucheClav ; Test conversion hexa -> ASCII 2/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov A,#15 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=0F Affichage F C=0 mov A,#8 lcall LcdCurseur mov A,#16 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=10 Affichage * C=1 mov A,#16 lcall LcdCurseur mov A,#32 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=20 Affichage * C=1 mov A,#24 lcall LcdCurseur mov A,#255 lcall AscHexa2Car mov F0,C lcall LcdWriteChar lcall AffSp mov C,F0 lcall AffC ; Hexa=FF Affichage * C=1 lcall ToucheClav ; Test conversion ASCII -> hexa 1/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov A,#48 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=48 Affichage 00 C=0 mov A,#8 lcall LcdCurseur mov A,#51 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=51 Affichage 03 C=0 mov A,#16 lcall LcdCurseur mov A,#57 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=57 Affichage 09 C=0 mov A,#24 lcall LcdCurseur mov A,#65 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=65 Affichage 0A C=0 lcall ToucheClav ; Test conversion ASCII -> hexa 2/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov A,#70 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=70 Affichage 0F C=0 mov A,#8 lcall LcdCurseur mov A,#71 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=71 Affichage FF C=1 mov A,#16 lcall LcdCurseur mov A,#47 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=47 Affichage FF C=1 mov A,#24 lcall LcdCurseur mov A,#58 lcall AscCar2Hexa mov F0,C lcall LcdWriteByte lcall AffSp mov C,F0 lcall AffC ; ASCII=58 Affichage FF C=1 lcall ToucheClav ; Test conversion Hexa -> ASCII dec en memoire interne 1/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov A,#0 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=00 Affichage 00 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov A,#3 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=03 Affichage 03 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov A,#9 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=09 Affichage 09 C=0 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov A,#10 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=0A Affichage 10 C=0 lcall ToucheClav ; Test conversion Hexa -> ASCII dec en memoire interne 2/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov A,#15 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=0F Affichage 15 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov A,#16 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=10 Affichage ** C=1 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov A,#32 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=20 Affichage ** C=1 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov A,#255 lcall AscHexa2AsciidecInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=FF Affichage ** C=1 lcall ToucheClav ; Test conversion HexaByte -> ASCII dec en memoire interne 1/1 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov A,#0 lcall AscByte2AsciidecInt mov F0,C lcall AffBuff3 mov C,F0 lcall AffC ; Hexa=00 Affichage 000 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov A,#10 lcall AscByte2AsciidecInt mov F0,C lcall AffBuff3 mov C,F0 lcall AffC ; Hexa=0A Affichage 010 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov A,#99 lcall AscByte2AsciidecInt mov F0,C lcall AffBuff3 mov C,F0 lcall AffC ; Hexa=63 Affichage 099 C=0 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov A,#255 lcall AscByte2AsciidecInt mov F0,C lcall AffBuff3 mov C,F0 lcall AffC ; Hexa=FF Affichage 255 C=0 lcall ToucheClav ; Test conversion WordByte -> ASCII dec en memoire interne 1/3 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov B,#0 mov A,#0 lcall AscWord2AsciidecInt mov F0,C lcall AffBuff5 mov C,F0 lcall AffC ; Hexa=0000 Affichage 00000 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov B,#0 mov A,#10 lcall AscWord2AsciidecInt mov F0,C lcall AffBuff5 mov C,F0 lcall AffC ; Hexa=000A Affichage 00010 C=0 lcall ToucheClav ; Test conversion WordByte -> ASCII dec en memoire interne 2/3 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov B,#0 mov A,#100 lcall AscWord2AsciidecInt mov F0,C lcall AffBuff5 mov C,F0 lcall AffC ; Hexa=0064 Affichage 00100 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov B,#HIGH(1000) mov A,#LOW(1000) lcall AscWord2AsciidecInt mov F0,C lcall AffBuff5 mov C,F0 lcall AffC ; Hexa=03E8 Affichage 01000 C=0 lcall ToucheClav ; Test conversion WordByte -> ASCII dec en memoire interne 3/3 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov B,#HIGH(10000) mov A,#LOW(10000) lcall AscWord2AsciidecInt mov F0,C lcall AffBuff5 mov C,F0 lcall AffC ; Hexa=2710 Affichage 10000 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov B,#HIGH(65535) mov A,#LOW(65535) lcall AscWord2AsciidecInt mov F0,C lcall AffBuff5 mov C,F0 lcall AffC ; Hexa=FFFF Affichage 65535 C=0 lcall ToucheClav ; Test conversion Hexa -> ASCII hex en memoire interne 1/1 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov A,#0 lcall AscHexa2AsciihexInt mov F0,C lcall AffBuff1 mov C,F0 lcall AffC ; Hexa=00 Affichage 0 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov A,#15 lcall AscHexa2AsciihexInt mov F0,C lcall AffBuff1 mov C,F0 lcall AffC ; Hexa=0F Affichage F C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov A,#16 lcall AscHexa2AsciihexInt mov F0,C lcall AffBuff1 mov C,F0 lcall AffC ; Hexa=10 Affichage * C=1 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov A,#255 lcall AscHexa2AsciihexInt mov F0,C lcall AffBuff1 mov C,F0 lcall AffC ; Hexa=FF Affichage * C=1 lcall ToucheClav ; Test conversion Hexa byte -> ASCII hex en memoire interne 1/1 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov A,#0 lcall AscByte2AsciihexInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=00 Affichage 00 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov A,#15 lcall AscByte2AsciihexInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=0F Affichage 00 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov A,#16 lcall AscByte2AsciihexInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=10 Affichage 10 C=0 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov A,#255 lcall AscByte2AsciihexInt mov F0,C lcall AffBuff2 mov C,F0 lcall AffC ; Hexa=FF Affichage FF C=0 lcall ToucheClav ; Test conversion Hexa byte -> ASCII hex en memoire interne 1/1 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov B,#12h mov A,#34h lcall AscWord2AsciihexInt mov F0,C lcall AffBuff4 mov C,F0 lcall AffC ; Hexa=1234 Affichage 1234 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov B,#abh mov A,#cdh lcall AscWord2AsciihexInt mov F0,C lcall AffBuff4 mov C,F0 lcall AffC ; Hexa=ABCD Affichage ABCD C=0 lcall ToucheClav ; Test conversion ASCII hex en memoire interne -> Hexa 1/1 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'0' lcall AscAsciihexInt2Hexa mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='0' Affichage 00 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'A' lcall AscAsciihexInt2Hexa mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='A' Affichage 00 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'F' lcall AscAsciihexInt2Hexa mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='F' Affichage 00 C=0 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'a' lcall AscAsciihexInt2Hexa mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='a' Affichage FF C=1 lcall ToucheClav ; Test conversion ASCII hex en memoire interne -> Hexa byte 1/1 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'1' inc R0 mov @R0,#'2' mov R0,#BuffStrt lcall AscAsciihexInt2Byte mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='12' Affichage 12 C=0 mov A,#8 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'1' inc R0 mov @R0,#'q' mov R0,#BuffStrt lcall AscAsciihexInt2Byte mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='1q' Affichage FF C=1 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'q' inc R0 mov @R0,#'2' mov R0,#BuffStrt lcall AscAsciihexInt2Byte mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='q2' Affichage FF C=1 mov A,#24 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'q' inc R0 mov @R0,#'q' mov R0,#BuffStrt lcall AscAsciihexInt2Byte mov F0,C lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='qq' Affichage FF C=1 lcall ToucheClav ; Test conversion ASCII hex en memoire interne -> Hexa word 1/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'1' inc R0 mov @R0,#'2' inc R0 mov @R0,#'3' inc R0 mov @R0,#'4' mov R0,#BuffStrt lcall AscAsciihexInt2Word mov F0,C push ACC mov A,B lcall LcdWriteByte pop ACC lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='1234' Affichage 1234 C=0 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'1' inc R0 mov @R0,#'2' inc R0 mov @R0,#'3' inc R0 mov @R0,#'q' mov R0,#BuffStrt lcall AscAsciihexInt2Word mov F0,C push ACC mov A,B lcall LcdWriteByte pop ACC lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='123q' Affichage FFFF C=1 lcall ToucheClav ; Test conversion ASCII hex en memoire interne -> Hexa word 2/2 lcall LcdRaz mov A,#0 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'1' inc R0 mov @R0,#'q' inc R0 mov @R0,#'3' inc R0 mov @R0,#'4' mov R0,#BuffStrt lcall AscAsciihexInt2Word mov F0,C push ACC mov A,B lcall LcdWriteByte pop ACC lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='1q34' Affichage FFFF C=1 mov A,#16 lcall LcdCurseur mov R0,#BuffStrt mov @R0,#'1' inc R0 mov @R0,#'q' inc R0 mov @R0,#'3' inc R0 mov @R0,#'q' mov R0,#BuffStrt lcall AscAsciihexInt2Word mov F0,C push ACC mov A,B lcall LcdWriteByte pop ACC lcall LcdWriteByte mov A,#32 lcall LcdWriteChar mov C,F0 lcall AffC ; ASCII='1q3q' Affichage FFFF C=1 lcall ToucheClav ; Test Upcase car lcall LcdRaz mov A,#0 lcall LcdCurseur mov A,#'a' lcall AscCarUpcase lcall LcdWriteChar lcall AffSp ; Affichage A mov A,#8 lcall LcdCurseur mov A,#'z' lcall AscCarUpcase lcall LcdWriteChar lcall AffSp ; Affichage Z mov A,#16 lcall LcdCurseur mov A,#'A' lcall AscCarUpcase lcall LcdWriteChar lcall AffSp ; Affichage A mov A,#24 lcall LcdCurseur mov A,#'0' lcall AscCarUpcase lcall LcdWriteChar lcall AffSp ; Affichage 0 lcall ToucheClav ; Test Downcase car lcall LcdRaz mov A,#0 lcall LcdCurseur mov A,#'A' lcall AscCarDowncase lcall LcdWriteChar lcall AffSp ; Affichage a mov A,#8 lcall LcdCurseur mov A,#'Z' lcall AscCarDowncase lcall LcdWriteChar lcall AffSp ; Affichage z mov A,#16 lcall LcdCurseur mov A,#'a' lcall AscCarDowncase lcall LcdWriteChar lcall AffSp mov A,#24 ; Affichage a lcall LcdCurseur mov A,#'0' lcall AscCarDowncase lcall LcdWriteChar lcall AffSp ; Affichage 0 lcall ToucheClav ; Test AscStringUpcase lcall LcdRaz mov A,#0 lcall LcdCurseur mov DPTR,#Buffext mov A,#'a' movx @DPTR,A inc DPTR mov A,#'b' movx @DPTR,A inc DPTR mov A,#'c' movx @DPTR,A inc DPTR mov A,#'d' movx @DPTR,A inc DPTR mov A,#'A' movx @DPTR,A inc DPTR mov A,#'B' movx @DPTR,A inc DPTR mov A,#'C' movx @DPTR,A inc DPTR mov A,#'D' movx @DPTR,A inc DPTR mov A,#0 movx @DPTR,A mov DPTR,#Buffext lcall LcdWriteString mov DPTR,#Buffext lcall AscStringUpcase mov A,#16 lcall LcdCurseur mov DPTR,#Buffext lcall LcdWriteString ; Affichage abcdABCD ABCDABCD lcall ToucheClav ; Test AscStringDowncase lcall LcdRaz mov A,#0 lcall LcdCurseur mov DPTR,#Buffext mov A,#'a' movx @DPTR,A inc DPTR mov A,#'b' movx @DPTR,A inc DPTR mov A,#'c' movx @DPTR,A inc DPTR mov A,#'d' movx @DPTR,A inc DPTR mov A,#'A' movx @DPTR,A inc DPTR mov A,#'B' movx @DPTR,A inc DPTR mov A,#'C' movx @DPTR,A inc DPTR mov A,#'D' movx @DPTR,A inc DPTR mov A,#0 movx @DPTR,A mov DPTR,#Buffext lcall LcdWriteString mov DPTR,#Buffext lcall AscStringDowncase mov A,#16 lcall LcdCurseur mov DPTR,#Buffext lcall LcdWriteString ; Affichage abcdABCD abcdabcd lcall ToucheClav ljmp Begin COn: db "C=1",0 COff: db "C=0",0 ; Liste des affichage si OK ; ; 0123456789ABCDEF 0123456789ABCDEF ; ; Test conv hexa -> ASCII ; 0 C=0 3 C=0 9 C=0 A C=0 Input 00 03 09 0A ; F C=0 * C=1 * C=1 * C=1 Input 0F 10 20 FF ; ; Test conv ASCII -> hexa ; 00 C=0 03 C=0 09 C=0 0A C=0 Input 48 51 57 65 ; 0F C=0 FF C=1 FF C=1 FF C=1 Input 70 71 47 58 ; ; Test conv hexa -> ASCII dec memoire interne ; 00 C=0 03 C=0 09 C=0 10 C=0 Input 00 03 09 0A ; 15 C=0 ** C=1 ** C=1 ** C=1 Input 0F 10 20 FF ; ; Test conv hexa byte -> ASCII dec memoire interne ; 000 C=0 010 C=0 099 C=0 255 C=0 Input idem ; ; Test conv hexa word -> ASCII dec memoire interne ; 00000 C=0 00010 C=0 Input idem ; 00100 C=0 01000 C=0 Input idem ; 10000 C=0 65535 C=0 Input idem ; ; Test conv hexa -> ASCII hex memoire interne ; 0 C=0 F C=0 * C=1 * C=1 Input 00 0F 10 FF ; ; Test conv hexa byte -> ASCII hex memoire interne ; 00 C=0 0F C=0 10 C=0 FF C=0 Input 00 0F 10 FF ; ; Test conv hexa word -> ASCII hex memoire interne ; 1234 C=0 ABCD C=0 Input idem ; ; Test conv ASCII hex memoire interne -> hexa ; 00 C=0 0A C=0 0F C=0 FF C=1 Input 0 A F a ; ; Test conv ASCII hex memoire interne -> hexa byte ; 12 C=0 FF C=1 FF C=1 FF C=1 Input 12 1q q2 qq ; ; Test conv ASCII hex memoire interne -> hexa word ; 1234 C=0 FFFF C=1 Input 1234 123q ; FFFF C=1 FFFF C=1 Input 1q34 1q3q ; ; Test upcase car ; A Z A 0 Input a z A 0 ; ; Test downcase car ; a z a 0 Input a z A 0 ; ; Test upcase string ; abcdABCD ABCDABCD Input abcdABCD ; ; Test downcase string ; abcdABCD abcdabcd Input abcdABCD ToucheClav: lcall ClaRead jz ToucheClav lcall ClaAntiRebond ret AffC: mov DPTR,#COn jc AffCS mov DPTR,#COff AffCS: ljmp LcdWriteStringCode AffSp: mov A,#20h ljmp LcdWriteChar AffBuff1: mov R0,#BuffStrt mov A,@R0 lcall LcdWriteChar inc R0 mov A,#32 lcall LcdWriteChar ret AffBuff2: mov R0,#BuffStrt mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,#32 lcall LcdWriteChar ret AffBuff3: mov R0,#BuffStrt mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,#32 lcall LcdWriteChar ret AffBuff4: mov R0,#BuffStrt mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,#32 lcall LcdWriteChar ret AffBuff5: mov R0,#BuffStrt mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,@R0 lcall LcdWriteChar inc R0 mov A,#32 lcall LcdWriteChar ret INCLUDE lib\liblcd.asm INCLUDE lib\libcla2.asm INCLUDE lib\libasc.asm