binarek
Guest
Thu Dec 23, 2010 12:03 am
Hejka,
25: COUNTER++;
+000020E6: 91400000 LDS R20,0x0000 Load direct from data
space
+000020E8: 5F4F SUBI R20,0xFF Subtract immediate
+000020E9: 934000E2 STS 0x00E2,R20 Store direct to data space
Co to ma w ogóle znaczyć to LDS spod adresu 0x0000 ? Widzę to co pewien czas
w kodzie, pod tym adresem siedzą rejestry AVR'a które na pewno nie posiadają
mojej zmiennej unsigned char COUNTER !
Czasem jest STS pod zerowy. Tutaj w tym przykładzie ładuje sobie do R20 ma
wykonać inkrementację i zapisać spowrotem.
Co jest grane ?
Adam Dybkowski
Guest
Thu Dec 23, 2010 1:04 am
W dniu 2010-12-23 00:03 binarek napisał(a):
Quote:
25: COUNTER++;
+000020E6: 91400000 LDS R20,0x0000 Load direct from data space
+000020E8: 5F4F SUBI R20,0xFF Subtract immediate
+000020E9: 934000E2 STS 0x00E2,R20 Store direct to data space
Co to ma w ogóle znaczyć to LDS spod adresu 0x0000 ? Widzę to co pewien
czas w kodzie, pod tym adresem siedzą rejestry AVR'a które na pewno nie
posiadają mojej zmiennej unsigned char COUNTER !
A to już disasemblacja ostatecznej binarki? Bo wygląda jak jedynie
listing po przejściu asemblera (jeszcze przed linkowaniem czyli
konsolidacją - dopiero podczas której zamiast tych zerowych adresów
zostaną wstawione właściwe adresy komórek pamięci).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
binarek
Guest
Thu Dec 23, 2010 1:21 am
"Adam Dybkowski" <adybkows12@45wp.pl> wrote in message
news:ieu3ld$r9u$2@news.onet.pl...
Quote:
A to już disasemblacja ostatecznej binarki? Bo wygląda jak jedynie listing
po przejściu asemblera (jeszcze przed linkowaniem czyli konsolidacją -
dopiero podczas której zamiast tych zerowych adresów zostaną wstawione
właściwe adresy komórek pamięci).
To z symulatora AVRstudio. Hmm czyżby przed linkowaniem to było?