- LiTime Speicher und Akkus         
Ergebnis 1 bis 7 von 7

Thema: BASCOM und ASM

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    BASCOM und ASM

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo BASCOM-Kenner,

    nachdem ich mich jetzt mit Bascom angefreundet habe, habe ich schon 2 LIBs mit Assembler-Teilen geschrieben.
    Dabei stosse ich auf ein paar (vielleicht dumme) Fragen:

    1. Ich würde gern die Port-Definitionen nutzen, die Bascom in Form der Definitionsdateien (M32def.dat, 2313def.dat ....) bereit stellt. Dann müßte ich nicht in jeder LIB wieder .equ PORTB = $18 o.ä. angeben.
    Ich hätte also gern so etwas wie .include "M32def.dat". Geht das? Wenn ja, wie?

    2. Gibt es für den BASCOM-Compiler eigentlich eine Anleitung (mit Aufzählung aller Compiler-Direktiven)? Oder habe ich die in der Doku übersehen?

    Gruß Dirk

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Wieso, du kannst doch die Bascom Symbole mitverwenden ?
    Der Library-Part wird ja mit dem Basic mitkompiliert, das ist ja keine "echte" Objectlibrary

    https://www.roboternetz.de/wissen/in...scom_Libraries

    ad 2. Was meinst du genau ? (ein Beispiel)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    BASCOM und ASM

    Hallo PicNick,

    Wieso, du kannst doch die Bascom Symbole mitverwenden ?
    Leider ging das bei mir beim Erstellen von LIBs nicht.
    Was ich meine: Ich möchte die Konstanten PORTB, OCR1AH, DDRA usw., die z.B. in der M32def.dat definiert sind (Syntax stimmt natürlich nicht ganz!) in den LIBs direkt nutzen und nicht neu definieren müssen. Geht das irgendwie?? Wenn ich z.B. PORTB in einer LIB ohne vorherige Definition verwende, bekomme ich (klar!!) eine Fehlermeldung.

    ad 2. Was meinst du genau ? (ein Beispiel)
    Wenn ich mir z.B. die mcs.lib ansehe, dann gibt es Ablauf-Steuerungs-Befehle (#if #else ...) und andere Compiler Befehle, die nicht direkt Code erzeugen, sondern eine bedingte Compilierung o.ä.
    Meine Frage war, ob es eine Anleitung mit Aufzählung dieser Compiler-Befehle gibt. Dann könnte ich sie auch in meinen LIBs verwenden. Oder sind die soooo universell für alle Compiler gültig, dass ich mir eine allgemeine Anleitung suchen muss, die dann auch für den BASCOM-Compiler gilt?

    ... Wie gesagt, vielleicht blöde Fragen!

    Gruß Dirk

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    ASM Befehle mit Adressen welche erst während der Kompilierung des Basic-Programms bekannt sind, müssen als solche gekennzeichnet werden.
    Dies geschieht mit einem * vor dem ASM-Befehl. z.B.
    Code:
     * in r24, PortB
    Dieser Befehl wird erst während der Kompilierung aufgelöst.

    Es ist auch möglich, einen Basic-Befehl direkt in die Library zu schreiben. Hier muss davor allerdings ein *BASIC: gesetzt werden. Z.B.

    Code:
    *BASIC: Set LED1
    um einen Pin auf high zu setzen, an dem eine LED angeschlossen ist.
    Im Basic-Programm muss dann allerdings diesem Namen ein Pin zugewiesen werden: LED1 Alias PortB.5
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    BASCOM - ASM

    Hallo oe9vfj,

    * in r24, PortB
    Ok, verstehe. Das habe ich auch schon so z.B. mit *lds r16,{Variable} gemacht. Für Portbefehle hatte ich das * bisher nicht genutzt. Werde das probieren.

    *BASIC: Set LED1
    Die Variante kannte ich noch nicht. Danke für die Infos!

    Da kommt bei mir noch einmal die Frage hoch, wo diese Infos stehen. D.h. gibt es eine "Anleitung" zu den Möglichkeiten des BASCOM-Compilers?

    Gruß Dirk

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Hallo Dirk,

    die Hilfe in BASCOM-AVR ist hier leider nicht sehr ausführlich. Etwas steht in der Rubrik Mixing ASM and BASIC.
    Du kannst mal in der Library http://members.aon.at/voegel/Downloa...F_HD/CF_HD.LIB
    einige Beispiele einsehen. Diese Library steht im Zusammenhang mit dem Basic-Programm http://members.aon.at/voegel/Downloa...Flash_M128.bas wo die Hardware-Konfiguration vorgenommen wird.
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    LIBs erstellen

    Hallo Josef,

    danke für das Beispiel mit der CF-LIB!

    Da kann man einiges abgucken.

    Gruß Dirk

Berechtigungen

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

LiTime Speicher und Akkus