Hilfe fr das Assemblerprogramm:

Nachdem man Atmel Studio 6 oder 7 gestartet hat, whlt man "vorhandene Datei laden" aus und verweist auf die DLA_mini Assembler Datei.
Jetzt sollte sich das File "DLA-mini.asm" ffnen und der Quellcode sichtbar werden.
Wenn nicht, eventuell mal in dem Fenster "Solution Explorer" auf der rechten Seite die Datei "DLA_mini.asm" anklicken.

Der Quellcode ist auf 32k Byte eingestellt. 
Wo kann ich das ndern, bzw. was habe ich zu machen wenn ich weniger als 32k als Speichergre habe?

Sobald die PC Software gestartet wird, fragt diese ber die ausgewhlte virtuelle COM Schnittstelle nach,
was denn an Hardware da "dran hngt". 
Diese Information bekommt die PC Software von dem Eintrag: 
".equ RAM_SIZE = 0x32"
Wichtig hierzu, der Wert der Gre des Speichers mu immer Hexadezimal angegeben werden!
Fr 4k wren das also dann 0x04 fr 16k wren das 0x16!
Dieser Wert bzw. Eintrag informiert aber nur die PC Software, um wieviel Speicher es sich handelt.
Den Wert fr die wirkliche Verwendung des Speichers wird hier eingetragen:	
"load_p  Y, 32768"
load_p ist ein Macro welches den hier vorgegebenen Wert ldt und in das interne SRAM des ATmega zur spteren Verwendung abspeichert.
Jetzt ist auch die Firmware darber informiert, wieviel SRAM sie zu bedienen hat, bzw. wieviele Bytes sie z.B. Auslesen mu.
Damit ist es aber noch nicht getan. Denn es mssen auch die Wartezeiten des ATmega16 noch fr die entsprechende Speichergre 
und Samplefrequenzen angepasst werden. Dieses wird ganz am Ende der Datei in der Tabelle "tab_timer_intervall:" gemacht.
Hier findet man jeweils zur Samplefrequenz an zweiter Stelle einen Zahleneintrag.
".dw 648" bedeutet, das der Wert 648 nun fr die 80MHz ausgewhlt sind.
Wenn ein ";" davor steht, bedeutet das, das dieser Eintrag zur Zeit nicht genutzt wird!
Mchte man die Assembler Software auf kleinere SRAM Werte wie 16k oder 4k ndern, so mu man nur die Semikoleons verndern.
Z.B. fr 40 MHZ bei 4k mu ".dw 163" aktiviert und ".dw 1304" deaktiviert werden!
Das Ganze mu dann fr alle Samplefrequenzen durchgefhrt werden. 
Welcher Wert fr welche Gre von SRAM aktiviert werden mu, steht jeweils hinter den Zahlen.

Der Wechsel der Speichergre ist normalerweise das einzigste was man hier verndern mte.
Alles andere bleibt im Normalfall wie es ist.

In der Software sind viele Kommentare eingfgt, die das Erkennen der Funktionen der Software leichter Beschreiben sollen.
Auch existieren noch Testprogrammteile die Michael Ulbrich noch drin gelassen hatte, die aber nicht durch die PC Software aufgerufen werden. 
Die man aber bei Bedarf auch aktivieren knnte. Aber das Testprogramm "test_bin_count" wird von der PC Software aufgerufen (unter TEST / Pattern auswhlen)
und erzeugt einen 8-Bit Zhler im externen SRAM Speicher und liest diesen dann wieder aus, um die Werte in der PC Software anzuzeigen.
Da der Quellcode nicht allzugro ist und der ATmega16 gerade einmal zu 6,1% seines Flash ausgelastete ist, ist es auch egal ob diese 
Testprogrammteile noch mit drin sind oder nicht.

Das Speichern bzw. brennen der Software geschieht dann aus Atmel Studio heraus 
bzw. kann ein beliebiges andere Brenntool die erzeugte HEX Datei in den ATmega16 brennen.
Brenner knnen sein AVR ISP MKII oder Atmel ICE. 
Es gibt aber noch jede Menge andere Programmer wo man sich gerne bei "Mikrocontroller.net" schlau machen kann.