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

Re: Assembler einbinden Kategorie: Programmierung (von TManiac - 4.05.2006 15:08)
Als Antwort auf Assembler einbinden von Erich - 2.05.2006 13:37
Ich nutze:
C-Control II Unit, CC2-Application-Board
N'Abend (und zwei Tage später)

Wo hast du den Begriff "Offset" her? ich weis nicht genau was du versuchst zu erfahren, aber ich
denke du könntest die Funktion der Interrupt-Tabelle meinen. Damit ist der allererste Bereich des
ROMs gemeint. Dort stehen im Abstand von 2 Word (4 Byte) die Interruptvektoren. Das ist im grunde
ganznormaler Programmspeicher, nur das auf die Stellen per Ereignis (Interrupt) gesprungen werden
kann. Dann steht dort im Normalfall ein Jump Befehl, der in die Interrupt-Routinen verzweigt. Es gibt für
jeden definierten Interrupt ein fest gelegt Adresse für die Interrupt-Vektor. Da die ALLE gleich gro�
sind kann man auch die Adresse als 'Nummer des Interruptes' * 4 berechnen. Das ist aber bei der
Benutzung des HOOK befehls in C2 alles nicht so wichtig.

Das andere "Offset" welches Andre auch im Buch beschreibt ist die Start Adresse der ASM Routine
im jeweiligen Segment. Wobei man für ASM als Zusatz für C2 in die Segmente 1-3 speichern sollte,
das sind auch die Segmente welche du im Downloadtool einstellen kannst.

Im MSR-Buch steht auch drin das es keine Möglichkeit gibt auf die Variablen aus C2 in ASM zu
zugreifen, Weil das OS die selber sortiert. Im Buch wird werden auch verschieden Möglichkeiten
beschrieben. Das Beispiel mit der �bergabe mit T3 ist aber auch mit anderen Registern möglich
welche nicht vom OS genutzt werden.

Wenn du einen anderen Controller möchtest, muss du in C programmieren weil das C2 nunmal eine
Conrad-Erfindung ist. Wenn du C programmierst kannst du auch die C-Control2 nehmen und das OS
weglassen. Der Keil Compiler ist erstmal kostenlos und ich bin noch nicht an die Begrenzung
gestoÃ?en und ich nutze nicht das C2-OS. Also bleib bei der C-C2 und lerne C oder ASM, ist auch
bis zu 1000mal schneller.

Noch viel Mut zum Probieren
TManiac
CB00

> Mahlzeit,
>
> da es mir ein Rätsel ist, was es mit diesem "Offset" bei den interrupt-Routinen auf sich hat, bitte ich
> euch um Rat. Wie komme ich auf die Adresse einer Variable, damit ich sie in einer Assembler-Routine
> inkrementieren kann? Wie schaffe ich mehr als nur eine Interrupt-Assembler-Routine? Dass man das
> mischen muss ist ja wirklich eine Schwäche am ganzen C-Control-System. Sollte man vielleicht einen
> anderen Controller wählen? Ich bin etwas verzweifelt, muss ich sagen.
>
> Erich


    Antwort schreiben


Antworten:

Re: Assembler einbinden (von Erich - 9.05.2006 19:44)
Re: Assembler einbinden (von André H. - 7.05.2006 22:08)
    Re: Assembler einbinden (von Erich - 8.05.2006 12:43)
        Re: Assembler einbinden (von André H. - 8.05.2006 16:51)
        Re: Assembler einbinden (von krassos - 8.05.2006 15:45)
            Re: Assembler einbinden (von Erich - 8.05.2006 17:25)
                Re: Assembler einbinden (von André H. - 14.05.2006 15:49)