Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Ausgabe auf das LCD in Assembler Kategorie: Progr. Assembler, TaskingTools, OS (von André H. - 26.07.2004 18:12)
Als Antwort auf Ausgabe auf das LCD in Assembler von Thomas - 23.07.2004 14:36
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Thomas,

> Ich bekomme jedoch wieder den Fehler:
>     22:                 mov     R12,#mystring   ;Adresse des Strings
> E 356: expression result out of range for use in an instruction
>
> Im o.g. Beitrag hieÃ? es jedoch, dass der String mit
>   mystring   db "Hallo Welt"
> direkt im Programmcode abgelegt wird. Somit denke ich, dass ein EXTS entfällt, da ich ja im gleichen
> Segment bleibe, oder?
> ...
> Wie kann ich nun also die Adresse des Strings in R12 schreiben?

So überhauptnicht. Dies versteht der Assembler leider nicht.
Das muÃ?t Du in diesem Fall per Hand machen, was wiederum kein Problem sein sollte.
Notfalls muÃ?t Du dann eben immer zweimal kompilieren.

Der einzige Syntax in dem Du den Konstanten String angeben kannst ist folgender:
MOV    Rw,[Rw+#text]
MOVB   Rb,[Rw+#text]
MOV    [Rw+#text],Rw
MOVB   [Rw+#text],Rb

Das Setzen von Strings und anderer konstanten Werte ist eben dazu gedacht, daÃ?
man auf dessen Inhalt in ASM direkt zugreift.

Also bleibt Dir, wie gesagt, nichts anderes übrig, zuerst mit einem Dummywert zu kompilieren,
dann in das Listing zu schauen, an welchem Offset der String liegt, diesen daraufhin
per Hand einzutragen und anschlieÃ?end alles nocheinmal zu kompilieren.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Ausgabe auf das LCD in Assembler (von Cris - 27.07.2004 8:07)
    Re: Ausgabe auf das LCD in Assembler (von Cris - 27.07.2004 9:32)
        Re: Ausgabe auf das LCD in Assembler (von André H. - 28.07.2004 13:22)