ASM51, ako by ste nakodovali?
Delphin
delphin@post.cz
Pátek Leden 20 17:25:04 CET 2006
> chcel by som sa spytat ci by ste mi niekto nepomohol s nakodovanim velmi
> jednoducheho parsera v asembleri pre '51.
> V akumulatore mam riadiace bity M1 M0 x x M1 M0 x x, kde bity M1 a M0
> urcuju pracovny mod 0 az 3 (cielom parsera je dostat jump na prislusny
> podprogram, ktory obsluzi dany prevadzkovy mod). Bity v lavej casti idu
> z dialkoveho ovladania, bity v pravej casti idu z lokalneho ovladania,
> inak su rovnocenne. Lokalne ovladanie ma prioritu, t.j. ak sa tam najde
> ine ako nula uz sa dialkove pozerat nemusi.
> Viete mi s tym pomoct? Ja uz nejak sprostiem a inak ako porovnavanim
> bitov jeden po druhom to spravit neviem. Chyba opak instrukcie CJNE,
> t.j. ked sa zhoduju tak skace :-)
mov B,A
anl A,#00001100B
jnz X1:
mov A,B
swap A
anl A,#00001100B
X0:
cjne A,#00000000B,X1
-- mod 0
jmp END
X1:
cjne A,#00000100B,X2
-- mod 1
jmp END
X2:
cjne A,#00001000B,X3
-- mod 2
jmp END
X3:
cjne A,#00001100B,END
-- mod 3
END:
nebo pokud muzete prijit o obsah DPTR, tak misto X0
rr A
rr A
mov DPTR, tabulka_skoku
jmp @A+DPTR
Další informace o konferenci Hw-list