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