8051, RC5 i deasemblacja

Mar 28, 2007 7 Replies

Witam, mam wykonac pewien projekt. Potrzebuje funkcje do odczytu kodu RC5. Pomyslalem sobie ze zdeassembluje ta z BASCOMA... Prawie mi sie to udalo... Niestety nie wiem co jest rozumiane przez "reladdr" przy skokach warunkowych. W przypadku podprogramow i LCALL'a adresem jest poprostu komorka w pamieci programu w ktorej rozpoczyna sie funkcja.



Z dokumentacji wynika: Operation: LCALL Function: Long Call Syntax: LCALL code addr



Operation: DJNZ Function: Decrement and Jump if Not Zero Syntax: DJNZ register,reladdr



Pomozcie, bo mam juz cala funkcje, tylko nie wiem jak uzupelnic skoki...



Chyba ze ma ktos gotowa taka funkcje w ASM'ie dla 51" ? Niestety nie znalazlem nic na necie:(


snipped-for-privacy@gmail.com schrieb:

relatywny. Reladdr to ofset do aktualnej wartości licznika.

jest dla Atmela. Może spróbujesz przerobić.

Waldek

Hmm, bylbym wdzieczny za bardziej wyczerpujaca wypowiedz;) Nie bawie sie w te klocki za dlugo ;-)

Jak obliczyc ten adres?

jest to liczba ze znakiem, ktora sie dodaje do aktualnej wartosci PC. Z tym ze w chwili wykonania to PC wskazuje nastepny bajt po instrukcji skoku.

przyklad

17 0010 C loop2: 18 0010 A2B0 C mov C,P3.0 19 0012 9290 C mov P1.0,C 20 0014 D8FA C djnz R0,loop2

FA to jest -6

J.

Hmm i niech zgadne od 127 do 255 FA jest ujemne i skoki sa do labeli w gore, natomiast od 0 do 126 skaczemy w dol ?

snipped-for-privacy@gmail.com schrieb:

FA jest zawsze -6 i skaczemy do tyłu D8 to skok. Jakbyś miał D808 to skaczesz o 8 w dół.

Waldek

TFU zadne FA, tylko reladdr;)

Cześć.

snipped-for-privacy@gmail.com napisał(a):

W necie jest wszystko ;)

ftp://ftp.circuitcellar.com/pub/Cross_Development/IRCON.ZIP

formatting link
Jeszcze jakieś inne w asm mam na CD, jak to co wyżej sie nie sprawdzi to odezwij sie na priv.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required