@Ri w 8051

Aug 07, 2003 7 Replies

Hej,



Moje pytanie dotyczy adresowania posredniego w 8051. Duzo popularnych ukladow (np. 89C51) ma 128 bajtow wewnetrznego RAMu. Bajty 128-255 to obszar SFR. W manualach pisze, ze rejestry SFR _nie sa_ adresowalne posrednio. "Pod" SFR nie ma ramu... co wiec zrobi ciag instrukcji



MOV R1, #B0h MOV A, @R1



nie moze zwrocic zawartosci portu P3 (adres P3 to B0h), bo pisze, ze SFR sa dostepne tylko za pomoca adresowania bezposredniego.



???



Pozdrawiam



Piotrek


Poczytaj o 8052.

Tam pamieci jest 256B, ale gorne 128 dostepne tylko przez adresowanie posrednie ..

J.

obszar

Heh... nie chodzilo mi o to, jak to zrobic, zeby dzialalo, tylko wlasnie co sie stanie w ukladzie 8051 ?! Instrukcja ta nie jest zabroniona - wykona sie normalnie. Ale CO jest wynikiem jej dzialania (FFh) ???!

Pozdrawiam

Piotrek

U¿ytkownik "Piotr Nabielec" napisa³ w wiadomo¶ci news:bguhpf$1rg$ snipped-for-privacy@flis.man.torun.pl...

co

od 128 - 255 jest dziura w pamieci dostaniesz FF albo 00 albo przypadkowe wartosci

-- Andrzej

U¿ytkownik "Andy" napisa³ w wiadomo¶ci news:bh0d8c$e0n$ snipped-for-privacy@atlantis.news.tpi.pl...

W '51 tak, ale w '52 mozna z tego obszaru korzystac. Tam jest pamiec do wykorzystania w trybie adresowania posredniego i wowczas nie pokrywa sie z SFR-ami! Wykonaj taki program:

MOV R1,#0B0h MOV A,@R1 ;otrzymasz jakas wartosc, ktora bynajmniej nie musi byc zawartoscia P3 ;to jakis poprzedni stan SRAMu o adresie

0B0h MOV A,#055h MOV @R1,a ;zapisz do SRAMu o adresie 0B0h wartosc 55h MOV A,#0AAh ;to zatarcia sladu (zeby zmienic stan akumulatora mov A,@R1 ;ooooo! A=55h, a wiec jednak pzdr JD

U¿ytkownik "Jad" napisa³ w wiadomo¶ci news:bh0f0o$lho$ snipped-for-privacy@atlantis.news.tpi.pl...

OK

ale przeciez pytajacy napisal wyraznie, ze chodzi mu o 51

-- Andrzej

Witam,

Nie. Nie kompilowalem tego. Wlasciwie to pisze symulator... Jest mnostwo sytuacji, kiedy sam kontrolerek glupieje, a to jeszcze trzeba symulowac :)

Pozdrawiam

Piotrek

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required