Witam
Czy ktoś mi może jakoś łapotologicznie wyjaśnić różnicę w komendach LDMFD, LDMED LDMFA LDMEA (chodzi mi o objaśnienie oznaczeń które znalazłem w literaturze: full descending, empty descending, full ascending, empty ascending)
Pozdrawiam
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięARMy - STOS
Moderatorzy:Jacek Bogusz, Moderatorzy
Tak łopatologicznie i strasznie oględnie to oznaczenia o które opytasz dotyczą "modelu"(użytej konwencji) organizacji stosu. W tym przypadku
"full" - oznacza że wskaźnik stosu wskazuje na "ostatni zajety elemnt na stosie"
"empty" - oznacza że wskaźnik stosu wskazuje na "pierwszy wolny element stosu"
"acsending" i "descending" dotyczą "kierunku" narastania stosu względem adresacji pamięci.
Ta ogólnie to ARM nie posiada wewnętrzego mechanizmu organizujacego stos (chyba że za stos uznamy rejestr do którego zapisywany jest adres przy wykonywaniu instrukcji BL). do organizacji stosu trzeba "zatrudnić" szersze instrukcje. W tym przypadku do organizacji stosu zastosowano instrukcje blokowego przesyłania rejestrów z/do pamięci "LDM". Jak to w ARM'ie, mają one całą masę modyfikatorów pozwalających na pre/post inkrementację/dekrementację adresu docelowego i jeszcze parę innych. Jeżeli piszesz wszystko sam to musisz głębiej zapoznać się z architekturą i listą instrukcji. jeżeli używasz już jakiegoś systemu (kompilatora "C", gotowego kernela lub OS'a to musisz poznać zastosoewaną w nim konwencję organizacji stosu/stosów i konsekwentnie jej używać.
"full" - oznacza że wskaźnik stosu wskazuje na "ostatni zajety elemnt na stosie"
"empty" - oznacza że wskaźnik stosu wskazuje na "pierwszy wolny element stosu"
"acsending" i "descending" dotyczą "kierunku" narastania stosu względem adresacji pamięci.
Ta ogólnie to ARM nie posiada wewnętrzego mechanizmu organizujacego stos (chyba że za stos uznamy rejestr do którego zapisywany jest adres przy wykonywaniu instrukcji BL). do organizacji stosu trzeba "zatrudnić" szersze instrukcje. W tym przypadku do organizacji stosu zastosowano instrukcje blokowego przesyłania rejestrów z/do pamięci "LDM". Jak to w ARM'ie, mają one całą masę modyfikatorów pozwalających na pre/post inkrementację/dekrementację adresu docelowego i jeszcze parę innych. Jeżeli piszesz wszystko sam to musisz głębiej zapoznać się z architekturą i listą instrukcji. jeżeli używasz już jakiegoś systemu (kompilatora "C", gotowego kernela lub OS'a to musisz poznać zastosoewaną w nim konwencję organizacji stosu/stosów i konsekwentnie jej używać.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 73 gości