Taka, że jest kilkakrotnie więcej rozkazów o trudnych do spamiętania mnemonikach i kupa rejestrów, których ilość zależy od typu procka.
Nie ma co płakać, trudność zależy najbardziej od chęci, a nie od ilości. Np. w przypadku ATmega8 wystarczy wydrukować 2 i 1/10 strony (s. 284, 285, kawałek 286) z noty katalogowej, aby mieć wszystkie potrzebne mnemoniki przed oczami. W miarę pisania programu sam się zdziwisz, że pamiętasz, tym bardziej, że znajdziesz dużo odpowiedników rozkazów z '51, dla czysto komercyjnych (prawa autorskie itp.) powodów nazwanych inaczej... Co do rejestrów, to każdy procesor może być specyficzny, ale do każdego jest odpowiedni plik nagłówkowy (np. "m8def.inc" dla ATmega8 w AVRStudio), w którym są one zdefiniowane i już w samym programie posługujesz się ich nazwami z not katalogowych. Czyli warunek konieczny to znajomość dokumentacji, jak w przypadku każdej części elektronicznej, abstrachując już nawet od magicznego zaklęcia "mikroprocesor AVR"
Inna architektura procesorow wymaga tez troche innego podejscia do rozwiazywania problemow. Tu jest az 32 rejestry ogolnego przeznaczenia a nie jeden akumulator. Niektore rozkazy dzialaja tylko z polowa tych rejestrow niektore ze wszystkimi, 6 rejestrow zostalo tez wykorzystane jako wskazniki. Programowanie AVR zdecydowanie sie rozni i jest trudniejsze na samym poczatku ale jak juz sie opanuje te "dziwne" mnemoniki rozkazow to praca staje sie przyjemnoscia.
Pozdro
Dexter
Tzw "dziwne mnemoniki" nabierają głębszego znaczenia i łatwiej wchodzą w pamięć, jeżeli rozwinąć skróty, z których są utworzone. Są to po prostu akronimy angielskich oznaczeń na działanie danego rozkazu.
Programowanie assemblera dla mikrokontrolerów AVR różni się od programowania dla 8051 przede wszystkim architekturą i zestawem instrukcji. AVR posiada znacznie więcej rozkazów o specyficznych, często trudnych do zapamiętania mnemonikach, które są akronimami angielskich nazw operacji. W przeciwieństwie do 8051, AVR dysponuje 32 rejestrami ogólnego przeznaczenia zamiast pojedynczego akumulatora, co wymaga innego podejścia do rozwiązywania problemów programistycznych. Część rejestrów pełni funkcję wskaźników. Pomimo początkowej trudności, znajomość dokumentacji i korzystanie z plików nagłówkowych (np. m8def.inc dla ATmega8) ułatwia pracę z assemblerem AVR. Dla szczegółowych informacji zaleca się korzystanie z pomocy asemblera w środowisku AVRStudio oraz not katalogowych, które zawierają pełne zestawy mnemoników i definicje rejestrów. Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.