Hallo Leute, kann mir einer sagen wie man nur aus mathematischen Befehlen Logische erzeugen kann...also nehmen wir mal an mein Prozesor unterstüzt Logische Befehle nicht..nun ist die Frage wie kann man ein unterprogramm bzw. ein makro für z.B AND schreiben. gruss dmad
meinst du so: unsigned char AND(unsigned char a, unsigned char b) { if(a >= 1) { if(b >= 1) return 1; } return 0; } oder unsigned char OR(unsigned char a, unsigned char b) { return (a+b); }
Danke für die Antwort, ich meinte den code eher in assembler als in C, hätte etwas besser die problematik beschreiben sollen... also folgendes x= 0101 y= 1110 AND x,Y liefert 0100 dies will ich jetzt ohne das AND befehl realisieren können also praktisch ein MAkro für AND schreiben..aber bedenke ich habe keine Logischen Befehle ..einzige Befehle die ich habe sind Mathematische,Shift,cmp usw.. ein Ablaufdiagramm bzw. text wäre auch hilfreich gruss dmad
"mein Prozesor unterstüzt Logische Befehle nicht" Den mußt Du mir erstmal zeigen. Was für Befehle soll er den sonst haben ? Peter
Peter, natürlich unterstüzt mein Prozessor Logische befehle ...alerdings möchte ich diese nicht benutzen ..warum ich das nicht machen will um das zu erklären müsste ich dir jetzt 10 seiten schreiben...deswegen habe ich einfach gesagt "keine logischen befehle" ..und deswegen brauche ich Makros dafür.. ok ich glaube das müsste woh als erklärung reichen dmad
"um das zu erklären müsste ich dir jetzt 10 seiten schreiben" Solange Du nicht plausibel machen kannst, warum einer etwas völlig sinnloses für Dich machen soll, wirst Du wohl auch keinen dafür finden. Du must auch erstmal schreiben, welche Befehle Du dann zulassen willst. Und wenn Du Assembler Macros willst, dann auch genau, welche CPU, welchen Assembler und welche Macrosprache. Peter
Ich habe keine Ahnung, wofür man so etwas brauchen könnte (außer für Hausaufgaben, die man nicht machen will). Du musst die Aufgabenstellung noch etwas erläutern : - wie lange (in bit) sind Deine Variablen ? - welche Befehle sind definitiv vorhanden (was für ein Befehlssatz) - Hilfsvariablen verwendbar ? Wenn Du mir das alles sagen kannst, dann kann man Dir auch helfen. MfG, Khani
ok ich werde es nochmal versuchen zu erklären..hört sich blöd an was ich suche aber ich weiss nicht wie ich das sonst erklären soll.. also nehmen wir mal an wir haben ein prozessor das eine fpu und eine Alu hat diese beiden einhaiten sollen voneindar unabhängig betrieben werden..stichpunkt diversitär..nun hat die eine einhait befehle die die andere nicht hat und umgekehrt z.b Die FPU kann keine logischen befehle während dir ALU nicht multiplizieren kann...da aber die aufgabe diversitär zu lösen ist muss ich für die FPU genau diese befehle (also logischen,AND OR,XOR) mit seinem Befehlssatz erstellen die wiederrum nur addieren,subtrahieren,multiplizieren,dividieren und natürlich auch schiften..ich habe schon für die ALU z.b die rutinen für Mul und div als Ablaufdiagramm erstellt jetzt muss ich für die FPU die fehlenden routinen erstellen... so ich galube das müsste wohl als reichen anders kann ich es wirklich nicht erklären. und zur der frage wie lang meine bitvariable sein soll nehmen wir mal an 4 bit wie oben beschrieben.. Peter: um welchen Assembler Macros das handelt tut hier nicht zur Sache mich intresiert nur das Flussdiagramm ..also wie es funktionieren könnte..da ich auch nur die grundlegenden funktionen habe müsste es mit jeder cpu gehen..denke ich mal oder?
Also jetzt mal ganz ehrlich : Wenn ich eine FPU habe (mit welchem Zahlenformat auch immer - muss ja nicht nach IEEE sein), dann macht es einfach überhaupt keinen Sinn, irgendwelche logischen Operationen auf dem korrespondierenden Bitmuster durchzuführen. Beispiel : Wenn man die Zahl 1.5e6 (1,5 Mio) eins nach rechts shiftet, was soll dann das Ergebniss sein 0.75e6 oder was ? Wenn man nämlich einfach das Bitmuster verschiebt ist das Zahlenformat zum Teufel abgewandert. Das kommt mir hier so vor, als hätte man ein Brett zu zersägen und einen Nagel in die Wand zu hauen und geht wie folgt vor : Man schlage das Brett mit dem Hammer klein und versucht den Nagel mit der Säge in die Wand zu hauen. Was soll das ? Ganz davon abgesehen kann man meines Erachtens nach mit einer FPU keine logischen Operationen auf den zugehörigen bitmustern durchführen. Eine FPU beherrscht ja nicht einmal Sprungkalkulationen und schon gar keine bedingten Sprünge, was für eine solche Lösung unabdingbar ist. Vielleicht bin ich ja auch dumm, aber so was macht für mich nach den Rechnerstrukturen echt keinen Sinn. MfG, Khani
Ganz davon abgesehen kann man meines Erachtens nach mit einer FPU keine logischen Operationen auf den zugehörigen bitmustern durchführen das ist mir auch klar..das wahr ja meine frage bzw. main anliegen ich möchte über arithmetische befehle diese realisieren...und das ist möglich...wieso kann ich keine sprungbefehle realisieren? die Flags werden doch auch bei einer subtraktion gesetzt und diese kann ich doch für Sprünge benutzen...naja ich sehe es schon das wird nix..ist auch kein einfaches thema villeicht liegts an mir das ich das nicht richtig vorgetragen habe oder es kam nicht richtig rüber möchte hier keinen beleidigen oder so... trotzdem danke nochmal für alle.
Kollege, tut mir leid, aber jetzt muss ich mal kurz meinen Frust loswerden: Es kotzt mich an, dass heutzutage niemand mehr der Sprache mächtig zu sein scheint! Ich behaupte ja nicht von mir, dass ich fehlerfrei schreibe, aber 1.) Paket schreibt man ohne CK (ebay Fehler Nr.1) 2.) man kann nicht alle ß durch ein ss ersetzen 3.) So etwas wie eine Groß- und Kleinschreibung existiert auch noch 4.) Kommas sind nicht verboten und 5.) meines sowie Einheit schreibt man nicht mit "ai" Sorry
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.