Forum: Mikrocontroller und Digitale Elektronik Bytes und Zyklen


von Frank M. (frank_mueller)


Lesenswert?

Hallo!
Ich habe folgende Frage,ich habe ein Programmabschnitt und möchte Bytes 
und Zyklen des cseg bestimmen,aber an einer Stelle weiss ich net 
genau,was das Richtige ist.Hier mal ein Programmausschnitt:

dseg at 20h
X1   ds 3
cseg
clr c         1 Byte 1 Zyklus
mov R0,#X1    hier meine FRAGE????
...
heißt in diesem Fall R0,#X1 --->mov Rr,#konst8 2 Bytes 1 Zyklus
                           oder:mov Rr,dadr    2 Bytes 2 Zyklen
Über eine Antwort würd ich mich freuen!

von Stefan (Gast)


Lesenswert?

Welcher Prozessor hat dieses Instruction Set und welcher Assembler dafür 
arbeitet mit ds Definitionen?

Ansonsten bei Atmel AT89C51 und Keil µVision3
http://www.fh-bielefeld.de/filemanager/download/2949/%C3%9Cbung%20Mikrocontroller1.pdf 
(2. Aufgabe und 3. Aufgabe)

mov Rr,#konst8 ; 2 Bytes 1 Zyklus

Es wird hier die Adresse der 3 Bytes nach R0 geladen, die unter dem 
Symbolnamen X1 definiert sind (also entsprechend mov R0, #20H)

von Hannes L. (hannes)


Lesenswert?

Das riecht nach Hausaufgaben...

Schau im Instructionsset Deines Prozessors nach, da müsste zu jedem 
ASM-Befehl die Abarbeitungszeit (in Zyklen / Maschinentakten) zu finden 
sein.

...

von Stefan (Gast)


Lesenswert?

Stimmt ;-)

Aber weil draussen so ein g*iles Wetter ist, kürzen wir das Stubenhocken 
und Pauken heute ausnahmsweise ab!

von Frank M. (frank_mueller)


Lesenswert?

Befehlsliste SAB 8051!!!
Und warum ist dann z.B. mov a,90h der Befehl mov a,dadr???
Verstehe im Moment nicht ganz den Unterschied,
eigentlich hätte das doch auch mov a,#konst8 sein können,oder nicht?
Und das sind keine Hausuafgaben!!!Als fast 29Jähriger wäre das auch 
schlecht;-).Ich lerne für eine Klausur.

von Stefan (Gast)


Lesenswert?

Mit, mit dem schönen Wetter wird es nix. Da liegt mehr im Argen ;-)

Im ersten Fall (mov R0,#X1) willst du die Adresse des Speicherbereichs 
bei dem Symbol X1 (hier 20H) in das Register R0 laden, um z.B. später 
indirekt (Register wird hochgezählt und dann als Adresszeiger genutzt. 
Stichwort @R0 als Operand) auf die dort abgelegten Elemente zuzugreifen.

Im zweiten Fall (mov a,90h) willst du direkt den Inhalt der Adresse 90H 
haben.

http://www.elektronik-kompendium.de/public/buchmann/assembler.htm
http://www.mcls-modular.de/deutsch/helpsys/t_as2.htm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.