-         

Ergebnis 1 bis 4 von 4

Thema: Buch zur Assembler Programmierung

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519

    Buch zur Assembler Programmierung

    Anzeige

    Hi,
    ich habe letzt das Lernpacket Microcontroler gekauft und habe das beiligende Buch durch. Da sich das Buch nur größtenteils nur auf den ATtiny13 bezieht, Suche ich nach einem empfelenswerten Buch zur Assembler Programmierung. Ich Programmiere Atmel Controler.
    Wäre toll wenn es da ein passendes Buch gibt.

    MFG

    Flexxx

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    HI,

    ist zwar kein buch, aber auf

    http://www.mikrocontroller.net/articles/AVR-Tutorial

    sind die ganzen basics mit nem mega8 erklärt.

    mfg Robin

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Die Internetseite kenne ich schon. Ich Suche dehalb ein Buch, da ich sehr viel Unterwegs bin und sehr wenig Internetzugang habe.
    Trotzdem Danke

    MFG Flexxx

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554

    Re: Buch zur Assembler Programmierung

    Zitat Zitat von Flexxx am 23 Jun 2009, 13:46
    ... möchte in die Programmierung von Atmel Controlern einsteigen ... den Attiny13 programmieren ...
    Zitat Zitat von Flexxx
    ... Lernpacket Microcontroler gekauft und habe das beiligende Buch durch ...
    Wenn ich diesen Thread und dazu Deinen anderen lese , siehe oben, erstes Zitat, bist Du in etwa einer Woche durch "dieses Buch durch" und hast hoffentlich auch das eine oder andere Experiment gemacht. Dazu hatte ich einen oder zwei Monat gebraucht - und danach noch immer nicht alles verstanden. Nun ist es sicher möglich, dass Du wesentlich schneller begreifst als ich - aber soooo viel Unterschied glaub ich nicht wirklich.

    Fazit: wenn Du (so ziemlich) alle Experimente in dem Buch aufbaust (ich meine nicht das Buch durch"machen" - damit hast Du ja offenbar nicht viel gelernt) und sorgfältig überlegst, was Du da machst, was geschieht, und welche Aktionen durch die be-/ge-schriebenen Befehle ausgelöst werden, dann verstehst Du schon mal ne ganze Menge an Assembler.

    Weiteres Vorgehen: Empfehlenswert ist es, danach das AVRStudio mit WINAvr zu installieren (wenn Du Windows fährst). Da steht Dir ein prächtiger Assembler zur Verfügung, der eine SEHR ausführliche Hilfefunktion hat. Damit kannst Du die Codebeispiele durchgehen und sie wirklich verstehen lernen, zumal diese Beispiele im Simulator von AVRStudio Schritt für Schritt nachzuvollziehen sind und dabei alle möglichen Registeränderungen anzeigen.

    Auszug aus der Hilfefunktion des AVRStudio:
    RETI - Return from Interrupt

    Description:
    Returns from interrupt. The return address is loaded from the STACK and the global interrupt flag is set.

    Note that the status register is not automatically stored when entering an interrupt routine, and it is not restored when returning from an interrupt routine. This must be handled by the application program. The stack pointer uses a pre-increment scheme during RETI.


    Operation:

    (i)PC(15:0) ← STACKDevices with 16 bits PC, 128K bytes program memory maximum.

    (ii)PC(21:0) ← STACKDevices with 22 bits PC, 8M bytes program memory maximum.


    Syntax: Operands: Program Counter: Stack

    (i) RETI None See Operation SP ← SP + 2 (2 bytes, 16 bits)

    (ii) RETI None See Operation SP ← SP + 3 (3 bytes, 22 bits)


    16-bit Opcode:

    1001 0101 0001 1000


    Status Register (SREG) and Boolean Formula:
    I T H S V N Z C
    1 - - - - - - -


    I: 1

    The I flag is set.


    Example:
    ...
    extint: push r0 ; Save r0 on the stack
    ...
    pop r0 ; Restore r0
    reti ; Return and enable interrupts


    Words: 1 (2 bytes)

    Cycles: 4 devices with 16-bit PC

    5 devices with 22-bit PC
    Die geschriebenen und getesteten Beispiele kannst Du danach assemblieren und die *hex-Files mit dem Programm LPmicro ISP aus dem Lernpaket in den Tiny13 laden - und laufen lassen.

    Zitat Zitat von Besserwessi
    ... Von der Hardware zu urteilen wird wohl ein Bootloader benutzt ...
    Jein. Für die ersten Schritte fährt man mit einem Bootloader, der zusammen mit einem ausgefuchsten Experimentierprogramm geladen wird (werden kann). Für eigene Programme ist eine Flashfunktion vorgesehen, die wird mit der GLEICHEN Hardware, ohne Zusätze, von LPmicro ISP erledigt und wirft dabei auch den Bootloader raus *gggggg*. (Der Bootloader mit Experimentierprogramm kann jederzeit einfach mit einer "Initialisierung" wieder eingespielt werden.)

    Zum Lernen von Assembler finde ich dieses Paket eine sehr gute und sehr übersichtliche Zusammenstellung, die mir eine gründliche Einarbeitung erlaubt hat. Das kleine Board hatte ich später immer wieder für manche Tests (auf Grundlage der Beispiele im Buch) in Verwendung. Danach hatte ich recht bald mit eigenen Platinen und auch mit manchen eigenen Projekten angefangen. In meiner Anfangszeit hatte ich dieses Paket im Urlaub mit - nur die Platine mit Kabel und wenige Kleinteile, das Buch und ein Notebook. Das lief am Strand und abends unter den Palmen auf der Terrasse . . . . . . *ggggg*.

    Zitat Zitat von Flexxx
    Die Internetseite kenne ich schon ...
    *gggg* aber offenbar nicht die Tatsache, dass man solche Seiten komplett auf (s)einem Computer speichern und später offline durchgehen kann. Ich glaube Du musst noch einiges lernen.

    Nachtrag: Dringend angeraten ist es, die zwei Seiten Instruction Set Summary, z.B. S. 158 + 159 aus dem ATtiny13-doc 2535I–AVR–05/08 auszudrucken und bei der Arbeit griffbereit zu halten. Zumindest für Leute wie mich, die kein fotografisches Gedächtnis haben.
    Ciao sagt der JoeamBerg

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •