00001 #include "p18cxxx.inc" 00002 udata_acs 00003 a res 0x20 ; char a[32] 00004 00005 RST CODE 00006 goto start 00007 PGM CODE 00008 a_data: db "PIC18F14k50 VeGyEs KaRaKtErEk",0x00 00009 start: movlw upper a_data 00010 movwf TBLPTRU 00011 movlw high a_data 00012 movwf TBLPTRH 00013 movlw low a_data 00014 movwf TBLPTRL 00015 lfsr FSR0,a 00016 masol: TBLRD*+ 00017 movf TABLAT,W 00018 movwf POSTINC0 00019 bnz masol 00020 ;--- Főprogram ------------------------------------ 00021 lfsr FSR0,a ; FSR0 lesz a p mutató! 00022 movf INDF0,W ; *p != 0? 00023 bz vege ; kilép, ha nulla a karakterkód 00024 lcase: movlw 0x40 00025 cpfsgt INDF0 ; *p > 0x40? 00026 bra kihagy ; nem nagybetu! 00027 movlw 0x5B 00028 cpfslt INDF0 ; *p < 0x5B? 00029 bra kihagy ; nem nagybetű! 00030 movlw 0x20 ; 32-t hozzáad a kódhoz 00031 iorwf INDF0 00032 kihagy: movf PREINC0,W ; mutató léptetés és a 00033 bnz lcase ; következő adat elővétele 00034 vege: goto $ 00035 END