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