www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe in der Umsetzung ASM in Bascom


Autor: Avr Nix (avrnix) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

im Thread Beitrag "Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

hat Benedikt eine Textausgabe im Assembler gemacht, diese ASM wollte ich 
in Bascom übertragen. Soweit habe ich das fertig gestellt, aber es gibt 
keine Ausgabe.

Da ich nicht unbedingt fit bin in ASM würde ich mich freuen wenn jemand 
der in Bascom und ASM auskennen würde und mir Tips bzw. die Fehler 
aufzeigen könnte.

Das Programm soll nur den Zeichensatz er am Anfang erscheint ausgeben, 
später soll dann der Eigene Text im Speicher sein ( Dim Zei As String * 
40 At &H200 )

Ich stehe erst am Anfang, obwohl die Umsetzung eigentlich gehen sollte, 
muss ich was übersehen haben, daher bitte ich um Hilfe.

In der Simulation sieht es gut aus und Arbeit ähnlich wie bei Benedikts 
asm Code.

Was habe ich Übersehen?

Anbei die BAS Datei und ASM Datei von Benedikt.

Danke für die Anregungen.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner eine Anregung zum Thema?

Autor: GastTX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,

du kannst auch ein .ORG 512 einbauen vor Data und statt const .equ 
nehmen.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo hilft mir schon weiter -> Bloss die Adresse des zeichensatzes beginnt 
jetzt bei 1050 statt bei 1024 :(

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum versuchst Du nicht einfach mal, ein bissel ASM zu lernen?
Der AVR kann kein BASCOM und der wird es auch nicht lernen. ;-)

Um in BASCOM oder C dasselbe zu erreichen wie Benedikt in ASM, musst Du 
BASCOM oder C und ASM schon verdammt gut beherrschen.

Alternativ kannst Du Benedikts Programm unbesehen (und unverstanden) in 
einen Mega8 flashen und von einem anderen AVR (auch unter BASCOM) den 
Text über UART an den Mega8 senden. Sieh den Mega8 einfach als 
"LCD-Controller".

...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja, der Zeichensatz muss exakt bei einer Pagegrenze beginnen. Und die 
muss mit den Konstanten im Programm (Pointer auf Startzeile setzen, 
Pointer auf Endzeile prüfen) übereinstimmen.

...

Autor: Frank L. (hermastersvoice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und dann gibts noch die Möglichkeit ASM in BASCOM einzubinden. Wollts 
nur mal erwähnt haben.

bye

Frank

Autor: Avr Nix (avrnix) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich fange auch an ASM zu lernen :) und den Code von benedikt habe ich 
studiert .
Durch die Eigenarten von Bascom ist es nicht so einfach 1:1 umzusetzen 
auch die Hilfe (Mix ASM in Bascom ) habe ich gelesen.



Pagesize -> Wie setze ich den Pointer richtig ?

Anbei mein Aktuellen Code und paar Register geändert damit das zu Bascom 
kompatibel ist.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ob Benedikts Codes das Richtige zum Lernen für Einsteiger ist, wage 
ich zu bezweifeln. Gut, den LCD-Code habe ich mir noch nicht angesehen, 
dafür aber den Code für die Textausgabe (25 Zeilen zu 40 Zeichen) für 
den TV, aus dem ich die Anregung für mein OSD-Projekt für ATV gefunden 
habe.

Beide Codes dürften sich in punkto Zeitknappheit nicht allzuviel nehmen. 
Auch der Umgang mit dem Charset dürfte recht ähnlich sein. Das Ganze ist 
halt nur mit ziemlich effizienter ASM-Programmierung erreichbar, bei der 
alle oft genutzten Variablen in Registern gehalten werden müssen um das 
Tempo zu schaffen. BASCOM hält seine Variablen aber grundsätzlich im 
RAM.

Verzichte bei diesem Projekt auf BASCOM und nimm es wie es ist oder 
arbeite in ASM im AVR-Studio.

...

Autor: GastTX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kritische Timeming ist HLOOP und ich gebe jetzt nicht die 800 
Zeichen, sondern erstmal die hälfte aus, Aufgrund das Bascom die 
Variabeln im Speicher vorhält.

Ich nehme Bascom, wenn die die Ausgabe steht ,da ich paar Sub Proggen 
möchte.
Vielleicht könnte sich das jemand das Programm Anschauen, vielleicht 
sind ja nur paar kleine Fehler drin die ich übersehen habe, vielleicht 
geht's dann.

Habe schon viel gelernt und umgesetzt, war auch schwierig durch 
Benedikts Code Durchzusteigen, aber der Kern die HLOOP Schleife ist die 
Ausgabe und die habe ich nur bei mir eingebaut. Ab Adresse H200 steht 
die ASCII Zeichen die Ausgegeben werden sollen.

Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.