00001 #include "p18cxxx.inc"
00002 udata_acs ; Adatterület lefoglalása
00003 a res 10 ; char a[10]
00004 RST CODE
00005 goto start
00006 PGM CODE ; Itt kezdődik a program
00007 ;--- a = 0x4321
00008 start: movlw 'P'
00009 movwf a
00010 movlw 'I'
00011 movwf a+1
00012 movlw 'C'
00013 movwf a+2
00014 movlw '1'
00015 movwf a+3
00016 movlw '8'
00017 movwf a+4
00018 clrf a+5 ; 0x00 kód zárja a stringet
00019 lfsr FSR0,a ; FSR0 lesz a p mutató!
00020 movf INDF0,W ; *p != 0?
00021 bz vege ; kilép, ha nulla a karakterkód
00022 lcase: movlw 0x40
00023 cpfsgt INDF0 ; *p > 0x40?
00024 bra kihagy ; nem nagybetu!
00025 movlw 0x5B
00026 cpfslt INDF0 ; *p < 0x5B?
00027 bra kihagy ; nem nagybetű!
00028 movlw 0x20 ; 32-t hozzáad a kódhoz
00029 iorwf INDF0
00030 kihagy: movf PREINC0,W ; mutató léptetés és a
00031 bnz lcase ; következő adat elővétele
00032 vege: goto $
00033 END