pic, assembler
movwf count1
d1 movlw 0xC7
movwf counta
movlw 0x01
movwf countb
Delay_0
decfsz counta, f
goto $+2
decfsz countb, f
goto Delay_0
decfsz count1 ,f
goto d1
retlw 0x00
end Vie mi to niekto jednoducho vysvetlit? Hlavne neviem pochopit v decfsz instrukciach to 'f'. Z p16f628.inc include suboru som sa docital ze to je "F EQU H'0001'" co je tmr0 register.... atd...
mam v tom bordel.. vobec neviem co tym autor myslel.
Pre pridávanie komentárov sa musíte prihlásiť.
Instrukcia decfsz counta,f najskor odrata jednicku od obsahu premennej counta, pricom vysledok ulozi nazad do tej istej premennej. Podla vysledku sa potom procesor rozhodne, ci bude pokracovat v programe nasledujucou instrukciou, alebo ju preskoci.
Instrukcia decfsz counta,w sa sprava takmer rovnako, ibaze vysledok ulozi do pracovneho registra WREG, t.j. hodnota premennej counta sa nezmeni, a vo WREG bude po skonceni instrukcie hodnota counta-1.
Ale chcel by som vedieť co je to za register - ten f. Lebo na zaciatku nebol vobec definovany v cblock-u tak som pozeral do toho include suboru a tam bola adresa toho F registra... a neviem co je zac.
decf count ,f znamena count = count - 1
decf count ,w znamena WREG = count - 1