hab mir aus dem internet ein programm geholt was genau das macht was ich brauche. es wandelt eine 16 bit große zahl in BCD code um. das problem ist das ich das verahren nach dem die umwandlung funktioniert nicht verstehe. kennt sich damit hier wer aus? danke
ich möcht ja nicht als Rüpel dastehen, aber überleg mal scharf: DU möchtest, daß DIR jemand bei einer bestimmten Fragestellung hilft. DEIN Beitrag dazu besteht darin, unvollständige Informationen "in den Raum zu werfen", eine Frage noch hinterher , und du hoffst nun auf reiche Antworten. Nur, was sollen dir denn die vielen hundert Leser deiner Frage zurückmelden? Etwa folgendes: "hab mir aus dem internet ein programm geholt" -> Schön, und für welchen Prozessor soll das sein? "was genau das macht was ich brauche" -> Super, dann sei doch froh! "das problem ist" -> tja, das ist DEIN Problem. Was sollte mich motivieren, darüber nachzudenken, WAS GENAU der Punkt ist den du nicht verstehst? "das ich das Verfahren ... nicht verstehe." -> Dann nimm das Handbuch zum Prozessor und lese, was zu den einzelnen Registern und Befehlen da drin steht. Danach verstehst du es. Wäre deine Anfrage gewesen: Das anhängende Beispielprogramm für den Prozessor "ALF-99" macht genau das was es soll ... aber mir ist nicht klar warum in Zeile 14 "DIV AB" aufgerufen wird, denn Register xy hat doch dann schon den Wert Z, oder hab ich da was überlesen? Dann hättest du ja noch eine minimale Chance gehabt, aber so .... "kennt sich damit hier wer aus?" > ja, es kennt sich hier jemand aus
Schau mal auf www.avr-asm-tutorial.de da findest du ein paar Routinen und die sind auch erklärt. Seb
ein paar informationen mehr wären schon hilfreich. aber das, das programm für einen 8051 ist, ist schon ersichtlich. und das jemand sich mit einem programm auskennen will auch wenn er es nicht selbst geschrieben hat ist doch auch nicht schlimm, oder? ich nehme mal an das du nicht hilfe bei den befehlen oder registern brauchst sondern das du das programm prinzipiell nicht verstehst, also den Algorithmus. kann dir da aber leider auch nicht weiterhelfen.
@Martin S. Was genau würde dir denn dir Info bzgl. des verwendeten µC bringen? Was der Codeschnipsel macht, ist ja schon geschriben worden.
@Thorsten Es erhöht möglicherweise die Anzahl derer, welche Lust hätten, dem Ursprungsposter eine Antwort zu schreiben. Pauschal-Anfragen wie: - "wie kann man Auto fahren lernen ?" - "kennt jemand ein schönes Urlaubsziel ?" - "Welches Cocktail schmeckt am besten ?" - "ich weiß nicht was soll es bedeuten" (trifft am ehesten zum Ursprungsposting) betrachte ich immer mit etwas Skepsis. Sicherlich ist nicht jedem zu eigen, sich vollständig und episch zu artikluieren. Aber ein paar Angaben dazu was derjenige gemacht hat, und was nun genau noch fehlt, wären schon etwas hilfreich.
Thomas hat das richtig erkannt. wenn mir jemand helfen will dann braucht er nicht mehr informationen dazu.
Die Assr-Source ist weisgott nicht schön dokumentiert... Wir Assembler-Programmierler lieben es eben wenn man uns nicht so in die Karten gucken kann. Wir lieben unstrukturierten Code, der voller Tricks und falschen Komentaren seckt. Im überigen nutzen wir Komentare in 90% der Fälle dazu um Befehle wegzukomentieren. (Damit hab' ich mich als '51er Assembler-Fan geoutet) Versuch's doch mal selbst: Nimm den Codefetzten, Jag ihn durch den Compiler und Linker und mach ein *.hex-File draus. Und ab in den Simulator (z.B. JSIM http://home.t-online.de/home/Jens.Altmann/). Wenn Du das Programm im Einzeschritt abtappelst, und die Register im Aug' behällst, kommst' Du schnell hinter das Geheimis. Jetzt entscheidet sich, ob DU ein echter Prgrammierer oder ein Müslifresser wirst: Ein Müslifresser überabeitet das Progamm und pept die Komentare auf. Es wird ggf. ein bisschen länger und auch langsamer. Aber die Funktion wird klarer. Ein echter Programmierer überabreitet das Programm und pept die Mnemonics (Assemblerbefehle) auf. Das Programm wird dann schneller und kürzer und hat keine passenden Komentare mehr. Die Funktion erahnt mann erst nach tagelangem knobeln. cu
das simulieren von dem code würde mir nicht viel bringen (hab ich außerdem schon gemacht). den code an sich verstehe ich ja ohne weiteres. ich möchte nur wissen wieso dieser code eine 16 bit zahl in bcd umwandelt. mich interessiert die theorie die dahinter steckt. ich dachte vorher eigentlich das man diese umrechnung mit divisionen durch 10 machen kann. aber der code macht noch viel mehr, und ich weiß nicht wieso. alles klar ?
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.