Hallo,
beim compiliren passieren mehrere sachen. in der reinfolge schaut das
in etwa so aus:
1. läuft ein precompiler, der bindet extern benutzten quelltext mit ein
und bearbeitet precompilerderektiven z.b. ersetzt er constantennamen
durch ihren wert. er filtert auch unnötige sachen herraus wie komentare
herraus.
2. jetzt kommt der compiler, der verarbeitet den mundgerechten
quelltext des precompilers und übersetzt ihn in einen maschinencode der
aber noch nicht lauffähig ist.
3. danach kommt der linker, der fügt die biblotheken hinzu die im
quelltext benutzt werden und baut daraus ein lauffähiges programm,
welche dann im fall AVR meist im Intel-hex format gespeichert werden.
4. diese Intel-hex datei wird dann mit einen entsprechenden programm in
den AVR übertragen wo er dann meist auch lauffähig ist :-)
Assembler - Maschinecode
Assembler ist eine Symbolsprache für Maschinensprache, da
maschinenspracheprogramme nur aus 0 und 1 besteht und für den menschen
so schwer lesbar wären. Hier benutzt man greifbare namen für eine
bitfolge die den maschinenbefehl darstellt.