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