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!
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)
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. ...
Stimmt ;-) Aber weil draussen so ein g*iles Wetter ist, kürzen wir das Stubenhocken und Pauken heute ausnahmsweise ab!
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.