; tohle je komentar. Co je za strednikem, to se nepreklada #include p16F88.inc ; nacucne uvedeny file ; podivejte se, co je v nem bunka equ 31 pocitatko equ 30 ; skupina pismenek pocitatko ; ma hodnotu 30 ; kdykoli se v textu objevi ; pocitatko ; nahradi se cislem 30 ; to, co je definovano v EQU, je videt ve View Watch ; #define pismenka jinapismenka ; define nahrazuje retezec pismenka retzezcem jinapismenka #define bitik STATUS,0 #define str1 bsf STATUS,6 #define bit0 STATUS, RP0 #define bit1 STATUS, 6 #define prikaz movlw .9 org 0 ; org nasledujici instrukce je na adrese ..... goto start org 4 retfie start: ; navesti ma hodnotu adresy instrukce, u ktere stoji ; ??? jakou hodnotu ma skupina pismenek start ???? bcf STATUS, RP0 bcf STATUS, RP1 ; totez bcf bit0 bcf bit1 bsf bitik str1 ; totez jako instrukce bsf bit1 bcf bit0 bcf bit1 start2: ; ??? jakou hodnotu ma skupina pismenek start2 ???? movlw 41 movlw 0x41 movlw .65 ; co se ulozi do W ? movlw "A" movlw B'01000001' movlw start ; navesti je cislo, a proto se s nim da jako s cislem zachazet xx1: equ start ; A PODIVAT DO FILE *.lst, jak se to prelozilo ! xx2: equ start + 50 ; nebo v MPLABu se podivejte do View - Program Memory xx3: equ xx2 + "C" xx4: equ 15 * xx1 xx5: equ start2 - start movlw xx1 ; divejte se v simulatoru, co se uklada do w, zda vam to souhlasi movlw xx2 movlw xx3 movlw xx4 movlw xx5 movlw xx3 - start2 nop nop movlw TRISA movlw STATUS movlw PORTA nop nop prikaz nop nop movlw 25 movwf pocitatko movlw bunka movwf FSR cyk: movf bunka,0 movwf 0 incf FSR,1 incf bunka,1 incf bunka decfsz pocitatko goto cyk nop nop nop bsf STATUS,5 movlw 0ff movwf TRISB bcf STATUS,5 movlw 5 movwf pocitatko movlw bunka movwf FSR cyk2: nop nop movf PORTB,0 movwf 0 incf FSR decfsz pocitatko goto cyk2 str1 bsf bitik ; dira - podivat do view - Program Memory org 50 nop nop nop movlw $ ; $ znamena hodnotu PC registru pro jdouci instrukci ; a je to cislo, tak s tim jako s cislem zachazim ; ??? jaka hodnota se ulozi do w ??? nop movlw $ ; $ znamena hodnotu PC registru pro jdouci instrukci ; a je to cislo, tak s tim jako s cislem zachazim ; goto $ nop nop nop movlw 08 movwf PCLATH goto daleko ; podivat do Program Memory, jak se to prelozilo org 0x0800 daleko: nop nop nop nop nop nop nop nop nop goto start ; haha ! ; proc se to tady nevraci na start ? ; ale na adresu ... - doplnte si ! ; k tomu si nastudujte kapitolu o PC, PCLATH, skocich atd. ; v simulatoru si pak zmente PCLATH end ; end znamena a tady prestan prekladat ; NENI !!!! to konec programu pro PICa, ; ve funkcnim PICovi ZADNY KONEC PROGRAMU neni, musi to stale neco delat ; end equ define org navesti jsou prikazz pro PREKLADAC, ; tedy pro program, ktery ze slov dela instrukce (cisla !!!! ) ; proto take po techto instrukcich nenajdete ; ve hex file ani stopy