MC68HC12 - TFR Befehl verständnis

Gast #1326986
Lesenswert?
• ▲
▼
Hallo,

ich habe eine kleine Frage.

Der Befehl TFR A,B transfermiert laut definition Register Inhalt von A 
in B.

Was passiert aber mit dem A Register, bleibt der alte Wert erhalten oder 
wie läuft das?

Ich habe leider momentan kein Testsystem zur Verfügung.

Mit freundlichen Grüßen
Gast #1327040
Lesenswert?
• ▲
▼
Danke,

noch eine Frage. Ich glaub die ist sehr Microcontroller abhängig, also 
ich beziehe mich hier auf den HC12.

So wie ich die Definition des TFR Befehls verstanden habe ist eine 
solche Operation möglich: TFR X,A (16 Bit,8 Bit)
Hier schreibt X die lower Bytes in A. Entspricht das der Wahrheit?

Auf vielen Internetseiten steht das der TFR nur bei gleich großen 
Registern funktioniert, allerdings habe ich auch HC12 bezogene Seiten 
gefunden welche dies so als richtig darstellen.



Mfg
Persönliche Seite #1327095
Lesenswert?
• ▲
▼
Beim 09 müssen Quell- und Zielregister die gleiche Bitbreite haben. Der 
HC12 ist aber deutlich neuer, daher kann nicht vom 09 auf den HC12 
geschlossen werden. Die beiden sind nur recht nahe Verwandte.

Programmierhandbücher etc. sollten sich per Google auftreiben lassen, 
auch sollte die Motorola-Nachfolgefirma Informationen vorrätig haben.

....

Ja, ein bisschen Google spuckt das hier aus:
http://www.ee.bgu.ac.il/~shlomi/project/CPU12RM.pdf

Auf Seite 306 ist der TFR-Befehl beschrieben.
Gast #1327116
Lesenswert?
• ▲
▼
Ich konnte aus (r1[7:0]) => r2 nicht viel lesen. Bedeutet das Bit7 - 
Bit0 [7:0] nach Register 2?
Das Handbuch ist sehr gut, sehr ausführlich. Da steht auch ausdrücklich 
Xl => A. Damit wäre die Sache geklärt.

Danke für eure Hilfe...manchmal bin ich doch noch etwas grün hinter den 
Ohren
:-P

Mfg
#1327145
Lesenswert?
• ▲
▼
Hallo,

ohne den Prozessor zu kennen: ja, bedeutet üblicherweise.
Versuche Dich al die Art der Beschreibung zu gewöhnen, sie wird von fast 
allen Herstellern in ihren Beschreibungen benutzt.

Erklärt mir in einer Zeile oft mehr als 3 Seiten lesen. ;-)

Gruß aus Berlin
Mochael
Gast #1327185
Lesenswert?
• ▲
▼
>Na also, da steht alles drin. Bei 8=>16 wird oben mit 0 erweitert,
>andersum gibt's das untere Byte.

Achtung:
bei TFR (8 Bit -> 16 Bit) wird im 16 Bit Register das High-Byte nicht =0 
gesetzt, sondern der 8Bit-Wert wird vorzeichenrichtig erweitert !

Also z.B.
TFR A,X  entspricht  SEX A,X // SEX =sign ext. into 16 Bit Register
Der Objektcode für die beiden Befehle ist übrigens derselbe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren