jak udelat _cislo_ MOD 7 ?
Jiří Reček
j_recek
Středa Březen 17 11:51:45 CET 2004
No, kdyz ja to pisu vsechno v asembleru.
pozn:
WORD je 16 bitu, tedy v r0 a r1 je 1110000000000000b, coz je sedm krat dve
na trinactou.
Jirka
> dik, to je zajimave kratke bohuzel nejsem x51ckar. Byl by problem to
popsat
> jako algoritmus nebo napsat v nejakem cecku ci pascalu at je videt jak to
> vlastne funguje? moc dik, chaos
>
>
> pozn: 11100000b je 224, tj. 7**5 a ne 2**13
>
>
>
>
> > Pro jaky procesor ?
> > treba 51 ? (mozna bych zvladl Z80, I8080).
> >
> > bez zaruky:
> >
> > mov r0,#0
> > mov r1,#11100000b ; 7 x 2^13
> >
> > mov r4,#13 ; pocet opakovani 13x rotace
> >
> > cykl:
> > clr c
> > mov a,_WORD_ ; odecteni
> > subb a,r0
> > mov r2,a
> > mov a,_WORD_+1
> > subb a,r1
> > mov r3,a
> >
> > jc dalsi
> > mov _WORD_,r2 ; vysledek prepsat, pokud
> > mov _WORD_,r3 ; odecteni nepreteklo
> > dalsi:
> >
> > clr c
> > mov a,r1 ; rotace
> > rrc a
> > mov r1,a
> > mov a,r0
> > rrc a
> > mov r0,a
> >
> > djnz r4,cykl
> >
> > tak, a pustte se do mne.
> >
> > Jirka
> >
> >
> >
>
>
Další informace o konferenci Hw-list