Hi Martin,
1. Den Befehlssatz gibt es auf jeder Hersteller-Seite meist als PDF zum
Download. Er ist für jeden 8051er identisch.
2. Der Ansatz des guten Programmierens hängt von deiner Erfahrung ab.
Klar, das gesamte Programm in eine Routine zu schreiben ist wie bei C
auch ein schlechter Ansatz. Also für jede Aufgabe eine eigene Routine.
Parameter lassen sich beim 8051er sehr gut über die Register R0-R7 an
andere Routinen weiterleiten.
Und ganz wichtig ist vor allem, wirklich jeden Assembler-Befehl
eindeutig begriffen zu haben, damit du effektiven Code schreibst.
Mit steigender Erfahrung in Assembler wirst du dann auch lernen, wie
man durch das Anwenden der richtigen Befehle "Tricksen" kann.
3. Und das Aufrufen von C-Routinen aus Assembler und umgekehrt hängt
von deinem Compiler/Linker/Assembler ab.
Wenn ich dir dazu einen Tip geben darf, nimm den KEIL C51, der kann in
der Demo 2kB. Dazu gibt es zwei Bücher von Michael Baldischweiler
(www.c51.de), kosten aber ca. 50 Teuro das Stück. In diesen Büchern
steht, wie man das macht mit den ASM <-> C Aufrufen.
Zusätzlich kannst du im Web mal nach dem C51-Primer suchen, das ist ein
PDF (leider in angelsächsisch), welches auch noch mal gute Tipps/Tricks
zum C51 hat.
Ich will dir nicht verschweigen, dass der Keil C51 in der Vollversion
bis zu 2600 Euro kostet.
Alternativ gibt es noch den C51-Compiler der Firma Wickenhäuser, der
hat in der Demo 8kB(!) und kostet etwa 110 Euro in der Vollversion, ist
aber nicht ganz so komfortabel wie der Keil C51. Wickenhäuser hat auch
mal behauptet, dass sie weitaus kleineren Code erzeugen als Keil, dazu
kann ich aber keine Aussage machen.
Hoffe ich konnte dir weiterhelfen.
Gruß Ralf