med v bazenu

cray craycz
Středa Březen 17 14:33:15 CET 2004


alebo trocha mensi kod s cyklom (r0 cislo bitu):

clr r1
sec
x: ror r1
inc r0
sbrs r0,3
rjmp x


Brano


12. 6. 2002 12:23:46, Tom Mazouch <mazouch@ica.cz> wrote:

>Locker Martin wrote:
>> 
>> Dobry den,
>> 
>> zacinam s AVR a mam zatim problemy s RISC architekturou.
>> 
>> Konkretne jak nastavit, resp. shodit pin na vystupni brane dle cisla
>> v registru (0-7).
>
>Nad timhle jsem se taky vyzuril a vykrikl hodne urazek na adresu AVR
>:-(.
>
>> 
>> Moje reseni:
>> 
>> 1.      Tabulka v pameti kodu (1, 2, 4, 8, 16, 32, 64, 128)
>> 2.      do Z zacatek tabulky + pin
>> 3.      vyzvednout z tabulky do R0 ???
>
>Funkci na prevod "cislo bitu -> nahozeny bit" jsem resil:
>ldi R1,1
>sbrc R0,2
>swap R1
>sbrc R0,1
>lsl R1
>sbrc R0,1
>lsl R1
>sbrc R0,0
>lsl R1
>Je s tim IMHO mensi onanie nez s tabulkou v pameti. Delka 9W, delka
>tabulky 4W, to by se obsluha tabulky musela vejit do 5W (coz se mozna
>vejde, ale...)
>
>> 4.      precist aktualni stav vystupni brany
>> 5.      sestavit novou hodnotu (OR pro nastaveni bitu, NOT AND pro
>> shozeni)
>
>SBR a CBR (jen upozornuju na to druhy :-)
>
>> 6.      zapis na port
>> 
>> Prechazim z x51 a prijde mi toto reseni velmi neohrabane.
>
>Kdyz jsem se nad tim pak ale zamyslel, tak na MCS51 to neni az tak moc
>lepsi. Brany sice lze adresovat bitove, ale jen primo. IMHO jedina
>vyhoda MCS51 je v tom, ze dokaze AND/OR/XOR Px,ACC.
>
>  TomM
>
>
>






Další informace o konferenci Hw-list