04-02-2018, 11:05 PM
(04-02-2018, 10:51 PM)Macola Wrote: Vojče,
Quote:Mozes da primetis da kod mene nema case-ova, if-ova itd., vec je to skockano maksimalno.
Pa Vojče legendo, ponekad ti mora zatrebati i neki if :-)
Code:#asm
movf _del2,f
btfsc status,2
return
GLOBAL _del1
loop_outer:
movlw del_const
movwf _del1
loop_inner:
nop
nop
decfsz _del1
bra loop_inner
decfsz _del2
bra loop_outer
return
#endasm
Maki,
naravno. Ovo sto si postavio prvo mora da se usavrsi i kako se racuna delay petlja u petlji po racunanju trajanja masinskih ciklusa po instrukciji. Tako smo svi poceli.
Sto se If-ova tice, nisam nista lose mislio na if-ove. Cela moja prica je bila da se program pise prema rutiranom hardware-u. U datom primeru se selekcija cifara bila tako napravljenja da ti ne treba if, vec obicno rotiranje (ASM instrukcija). Kada bu drugi nacin rutiranja bio, moja prica bi pala u vodu i tada bi isao if-case. cela prica je takva samo da podstakne drugacij nacin razmisljanja. Nista drugo.
Inace, licno sam zagovornik ASM-a i ubedjenja sam da ko nije prosao ASM kod, taj nije osetio kako radi MCU. Pogotovo oko interapta i smestanja sadrzaja na stack. Kada se te stvari otkucaju u asm u prodju liniju po liniju u simulatoru (stari MPSIM - stara garda se seca), tek onda se kockice sloze i sve sto si citao oko nacina rada dodje na svoje mesto. Izvinjavam se ako gresim. Iskusniji ce da kazu i da se prepoznaju.!!!